Skip to main content

Thelia Back-office CVE-2026-120249

| EUVDEUVD-2026-114746 MEDIUM
Cross-Site Request Forgery (CSRF) (CWE-352)
2026-11-01 VulnCheck GHSA-j499-8gjf-h2jf
6.9
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Craft malicious link to /admin/product/combinations/update
  2. Delivery
    Lure logged-in administrator to click it
  3. Exploit
    Browser sends authenticated GET with session cookie
  4. Execution
    Server writes fields with no CSRF token check
  5. Impact
    Catalogue prices zeroed, stock and flags overwritten

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V3 - Web Frontend Security Anti-CSRF tokens, SameSite cookies
MITRE ATT&CK

1 technique across 1 tactic: Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires a Thelia administrator to be logged in with an active back-office session in the same browser and to click (or be redirected via top-level navigation to) an attacker-crafted link to /admin/product/combinations/update or /admin/product/default-price/update; the routes accept GET and perform no anti-CSRF token validation in versions before 1.1.1 (default configuration). No attacker account or credentials are needed. Exploitation is LIMITED by: mandatory admin user interaction (a clicked link or auto-redirect/meta-refresh, not a background subresource), and the SameSite=Lax session cookie, which permits top-level GET navigations but refuses subresource requests such as <img src> or prefetchers that arrive without the session cookie. The only server-side gate is the victim's own UPDATE access check, which does not defend against CSRF.

Impact

This is a genuine but moderate-priority integrity issue, not a top-tier emergency. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:A, score 6.9) shows a remotely reachable, low-complexity flaw needing no attacker credentials, but it is gated by active user interaction (UI:A): a logged-in administrator must click an attacker's link. Impact is confined to integrity (VI:H) with no confidentiality or availability loss (VC:N/VA:N) - consistent with CSRF rewriting catalogue data rather than yielding code execution or data theft. It is NOT in CISA KEV (no KEV signal in input) and no EPSS probability was supplied, so there is no evidence of active or widespread exploitation; the detailed reproduction in the GHSA advisory is a public PoC reference, not verified packaged exploit code. The vuln.today decision label is 'this_month', which aligns with the signals - patch promptly but this is not act_now/emergency. The main tension to flag: raw CVSS is driven high by AV:N/PR:N, yet real-world risk is tempered by the requirement that a specific privileged human (an admin) be logged in and be socially engineered into clicking, and by SameSite=Lax limiting the vector to top-level navigations. Net: a real, easily-weaponizable one-click CSRF worth patching this cycle, but exposure is bounded by admin interaction and the niche deployment base of the product.

Exploit ScenarioDerived

An attacker hosts a web page containing a crafted link (or auto-redirect) to a Thelia back-office product route and lures a shop administrator who is logged in within the same browser. With one top-level click the browser issues an authenticated GET that the server accepts without any CSRF token, silently rewriting product combination prices, sale prices, stock, weight, EAN and sale flags - omitted price fields are written as 0, turning items into free products. A detailed public PoC reference exists in the GHSA advisory (reproduction steps for both routes); it is not verified as packaged working exploit code.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Nov 01, 2026

The Thelia back-office Twig template bundle (thelia/backoffice-default-twig-template) before 1.1.1 exposes two admin catalogue routes - /admin/product/combinations/update and /admin/product/default-price/update - that accept GET requests and perform no anti-CSRF token validation, even though the legitimate form already emits a token in its action URL and the fix later moves it into a hidden field that is actually checked. An attacker who lures a logged-in administrator into a top-level navigation (a clicked link or a meta-refresh/location redirect) can rewrite product combination price, sale price, weight, stock, EAN and onsale/isnew flags across many SKUs in a single request, and price fields omitted from the payload are written as zero, turning items into free products. The attacker needs no account or credentials, but exploitation is bounded by mandatory administrator interaction and by the SameSite=Lax session cookie, which permits top-level GET navigations while refusing subresource requests such as an <img src> or prefetcher hits that arrive without the session; the vendor advisory publishes step-by-step reproduction requests, and a public PoC reference therefore exists, though it is not verified as packaged working exploit code. No CISA KEV entry is recorded and the vuln.today priority label is this_month, consistent with a genuine but moderate integrity-only issue rather than an emergency.

RemediationAI

Vendor-released patch: upgrade thelia/backoffice-default-twig-template to 1.1.1 as listed in GHSA-j2c3-9c4q-c2ch (advisory at https://github.com/thelia/thelia/security/advisories/GHSA-j2c3-9c4q-c2ch). The released fix - visible in commits aaf540ca552dbc4c63dca77620af4b7936d22e8f and 51b014b06a5b4ee45f15093aa58a3064d4412bd3 - restricts both /admin/product/combinations/update and /admin/product/default-price/update to POST, moves the CSRF token from the form action query string into a hidden _token field, and enforces TokenProvider::checkToken() server-side; it also changes omitted fields so they no longer default to zero writes. No separate workaround is documented in the vendor advisory, and applying the route/token changes by hand is the equivalent of taking the patch, so upgrading to 1.1.1 is the complete and only stated fix. Until the bundle is updated, the published attack path depends entirely on an administrator following a cross-origin top-level navigation while holding an active back-office session, so the exposure window is reduced by having administrators log out of the back office when not actively working in it and by not clicking unsolicited links to the shop's own admin host; these are situational reductions, not a substitute for the patch.

Affected VersionsENISA

Thelia Back-office Default Twig Template 0 <1.1.1

Affected Packages

euvd thelia_back_office_default_twig_template fix: 1.1.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Thelia is a Symfony-based PHP e-commerce platform, and this flaw sits in the optional back-office default Twig template bundle rather than the core framework. CWE-352 (cross-site request forgery) is the root-cause class: in src/Controller/Catalog/ProductAdvancedController.php of version 1.1.0, the combinationUpdate() and combinationDefaultPriceUpdate() handlers are declared with methods ['POST', 'GET'] and read every mutation parameter through $request->query->get(...) ?: $request->request->get(...), so a simple cross-origin GET link is sufficient to drive a database write. Neither handler calls TokenProvider::checkToken() nor goes through a Symfony form handleRequest()/isValid() cycle - the token is generated and attached to the form action as ?_token={{ assignToken() }} in catalog/product/_combinations_tab.html.twig but never verified server-side, so the check simply does not exist. The only gate is access->check(..., UPDATE), which validates the victim's own administrative session and is by definition not a CSRF defence. The handlers dispatch PRODUCT_UPDATE_PRODUCT_SALE_ELEMENT per row and, in the default-price path, apply setPrice((float) ... 'price' default 0) and setSalePrice(... 'sale_price' default 0), so omitted fields are silently persisted as zero rather than left unchanged. The cookie is SameSite=Lax, which is why the advisory stresses that only top-level navigations carry PHPSESSID - an important constraint on exploitability that keeps this out of the background-request class of CSRF. The upstream fix restricts both routes to POST, requires a checked _token from the request body, and moves the token out of the query string.

Know when Thelia gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 6.9 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
vuln.today AI 6.5 MEDIUM

Remote, low-complexity CSRF needing no attacker privileges (PR:N) but requiring the admin to click a link (UI:R); impact is catalogue-data integrity only, so C:N/A:N and I:H.

3.1 AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Active
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

Thelia Back-office Default Twig Template before 1.1.1 contains a cross-site request forgery vulnerability in the /admin/product/combinations/update and /admin/product/default-price/update routes, which accept GET requests without anti-CSRF token checks. Attackers can lure a logged-in administrator into following a crafted link to rewrite product combination prices, stock, weight, EAN and sale flags, zeroing omitted prices.

Threat Intelligence Overview

EPSS Score
0.1%
Top 96% exploitable
Prevalence
Low
niche open-source PHP e-commerce platform template, limited production footprint
Social Media
2
Sightings
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment CIRCL GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

34
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Request Forgery exploits the automatic credential inclusion behavior of web browsers.

More in Thelia

View all
CVE-2026-103535 HIGH
8.8 Oct 12

Authenticated back-office users of Thelia through 2.6.1 can chain a path traversal flaw in the translation editor with a

CVE-2026-107248 HIGH
8.8 Oct 12

Server-side template injection in the back-office Email/Messages feature of Thelia 3.0.0 lets an authenticated user hold

CVE-2026-109397 HIGH
8.6 Oct 12

Remote code execution in the Thelia e-commerce platform (all versions before 3.1.2 and 3.2.x before 3.2.1) allows an aut

CVE-2026-120205 HIGH
7.4 Oct 31

Stored cross-site scripting in Thelia before 3.1.0 lets anyone who self-registers a front-office customer account plant

CVE-2026-103521 HIGH
7.2 Oct 12

Remote code execution in Thelia v2.6.0 is achievable by an authenticated administrator who abuses the document update en

CVE-2026-103522 HIGH
7.2 Oct 12

Authenticated attackers holding a Thelia administrator account can achieve remote code execution on the underlying serve

CVE-2026-120207 HIGH
7.0 Oct 31

Thelia Page Module through 2.0.3 exposes back-office delete routes for page tags, documents and images without CSRF toke

CVE-2026-103523 MEDIUM
6.1 Oct 12

An open redirect in Thelia's address-creation workflow (versions up to and including 2.6.0) lets an attacker craft a URL

CVE-2026-103527 MEDIUM
6.1 Oct 12

Reflected cross-site scripting in Thelia versions up to 2.6.0 allows remote attackers to execute arbitrary JavaScript in

CVE-2026-120206 MEDIUM
5.9 Oct 31

Cross-site request forgery in Thelia's back office lets a crafted link or hostile page make a logged-in administrator de

CVE-2026-103528 MEDIUM
5.4 Oct 12

Authenticated administrators of Thelia 2.6.0 and earlier can achieve remote code execution by injecting malicious Smarty

CVE-2026-103537 MEDIUM
5.4 Oct 12

Authenticated template injection in Thelia versions up to and including 2.6.1 lets a logged-in user with access to Smart

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy