CVE-2026-120205 in Theliainfo

Summary

by MITRE • 10/31/2026

Thelia before 3.1.0 contains a stored cross-site scripting vulnerability in ForSomeCustomers::getSummary() that allows unauthenticated attackers to inject scripts via unescaped customer names. Attackers can register with a script payload as their name that executes when administrators view related coupons, stealing CSRF tokens to create administrator accounts.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Analysis

by VulDB Data Team • 10/31/2026

The security flaw identified in Thelia versions prior to 3.1.0 represents a critical stored cross-site scripting vulnerability located within the ForSomeCustomers::getSummary() function. This weakness stems from an insufficient sanitization of user-supplied input, specifically customer names that are rendered directly into HTML responses without proper encoding or escaping mechanisms. Because this data is persisted in the application's database and subsequently retrieved for display to administrative users, it constitutes a stored XSS attack vector rather than a reflected one. The core technical deficiency lies in the failure to apply context-appropriate output encoding when rendering customer names within the summary view, allowing malicious script payloads embedded in these fields to execute within the browser session of any administrator who accesses the affected page.

The operational impact of this vulnerability is severe due to its ability to facilitate privilege escalation through credential theft and manipulation. An unauthenticated attacker can exploit this flaw by registering a new account with a carefully crafted name containing JavaScript code or HTML tags designed to interact with the application's security tokens. When an administrator views the customer summary page, which includes data for customers associated with specific coupons, the malicious script executes in the context of the admin's session. This execution environment grants the attacker access to sensitive information such as Cross-Site Request Forgery (CSRF) tokens and authentication cookies. By stealing these CSRF tokens, the attacker can forge requests that appear legitimate to the application, effectively bypassing anti-CSRF protections.

This capability allows the adversary to perform actions on behalf of the administrator with full privileges. The most critical consequence described is the ability to create new administrative accounts or modify existing ones without authorization. This leads to a complete compromise of the system's integrity and confidentiality. Once an attacker has established persistent access through a newly created admin account, they can exfiltrate sensitive customer data, manipulate e-commerce transactions, deface the website, or use the compromised server as a pivot point for further network attacks. The persistence of this vulnerability means that every subsequent view of the affected page by any authorized user serves as an opportunity for exploitation, making it particularly dangerous in environments with frequent administrative oversight.

From a classification perspective, this vulnerability aligns with CWE-79: Improper Neutralization of Input During Web Page Generation, commonly known as Cross-site Scripting (XSS). Specifically, it falls under the stored variant where malicious content is saved on target servers and delivered to users later. In terms of offensive security frameworks, this attack maps to MITRE ATT&CK technique T1059: Command and Scripting Interpreter, specifically through browser-based scripting languages like JavaScript. The exploitation path also involves T1534: Internal Spearphishing if the attacker tricks an admin into clicking a link, though in this case, it is more accurately described as automated execution upon page load within the trusted administrative interface.

Mitigation strategies must focus on both immediate remediation and long-term defensive coding practices. The primary fix involves upgrading to Thelia version 3.1.0 or later, where this specific input validation issue has been addressed by developers implementing proper output encoding for all dynamic content rendered in HTML contexts. For organizations unable to upgrade immediately, a temporary workaround may involve implementing server-side filtering to strip or encode special characters such as angle brackets and quotes within customer name fields before database insertion. Additionally, deploying a Web Application Firewall (WAF) with rules tuned to detect XSS payloads can provide an additional layer of defense by blocking malicious requests at the network perimeter.

To prevent similar vulnerabilities in future development cycles, engineers should adopt a secure coding framework that mandates output encoding based on the context where data is rendered, such as HTML body, attribute, or JavaScript contexts. Implementing Content Security Policy (CSP) headers can also mitigate the impact of any remaining XSS flaws by restricting the sources from which scripts are allowed to execute, thereby preventing unauthorized script injection even if input validation fails. Regular security audits and static application security testing should be integrated into the development lifecycle to identify such encoding deficiencies before deployment. Ensuring that all user inputs undergo rigorous sanitization and that outputs are properly encoded remains the most effective defense against stored cross-site scripting attacks in web applications.

Responsible

VulnCheck

Reservation

10/31/2026

Disclosure

10/31/2026

Moderation

accepted

EPSS

0.00000

KEV

no

Activities

low

Sources

Do you need the next level of professionalism?

Upgrade your account now!