CVE-2026-11959 in FacturaScriptsinfo

Summary

by MITRE • 10/20/2026

Stored Cross-Site Scripting (XSS) in FacturaScripts, version 2025.61, caused by a lack of adequate validation or sanitisation of user input in the ‘city’ and ‘province’ fields in the ‘ListAlmacen’ endpoint. Successful exploitation of this vulnerability could allow an attacker to execute arbitrary JavaScript code in the victim’s browser (the application user) or to escalate privileges from a normal user to an administrator by executing specially crafted JavaScript code, thereby compromising the system’s confidentiality or hijacking the session (even with httpOnly cookies by extracting CSRF tokens).

Once again VulDB remains the best source for vulnerability data.

Analysis

by VulDB Data Team • 10/20/2026

The vulnerability identified as Stored Cross-Site Scripting in FacturaScripts version 2025.61 represents a critical security flaw within the application's inventory management module, specifically affecting the ListAlmacen endpoint. This issue stems from an insufficient validation and sanitization mechanism applied to user-supplied data entered into the city and province fields during record creation or modification operations. Unlike reflected XSS where malicious scripts are executed immediately via a crafted URL, stored vulnerabilities persist by saving the injected payload within the application's database. Consequently, every time a legitimate user accesses the affected page that renders this unsanitized data, the browser executes the embedded JavaScript code in the context of the victim’s session. This persistence mechanism significantly amplifies the attack surface, as exploitation does not require complex social engineering to trick users into clicking specific links; rather, it relies on the routine viewing of compromised records by administrators or other privileged users within the system.

From a technical perspective, the root cause lies in the application's failure to properly encode output when rendering user-controlled data from the city and province fields. The input validation logic likely permits special characters such as angle brackets, quotes, and ampersands without applying appropriate HTML entity encoding or context-aware escaping. This oversight allows an attacker to inject a script tag containing arbitrary JavaScript code directly into these database-stored fields. When the ListAlmacen endpoint retrieves this data for display in the web interface, the browser interprets the injected content as executable code rather than plain text. The absence of robust Content Security Policy directives or effective input filtering mechanisms further facilitates this execution environment, allowing scripts to run with the same privileges and permissions as legitimate application scripts.

The operational impact of exploiting this vulnerability is severe, primarily due to its potential for privilege escalation and session hijacking. An attacker can craft a payload that extracts sensitive information from the victim's browser context, including authentication tokens, CSRF protection values, or other confidential data stored in cookies or local storage. Even if critical cookies are marked with the HttpOnly flag, which prevents direct access via JavaScript document.cookie properties, sophisticated attacks may still succeed by leveraging DOM-based vulnerabilities or extracting non-HttpOnly session identifiers that facilitate impersonation. By hijacking an administrator's session, the attacker gains full control over the FacturaScripts instance. This level of compromise allows for unauthorized modification of financial records, theft of customer data, and complete disruption of business operations, thereby violating the confidentiality, integrity, and availability principles of information security.

This vulnerability aligns with Common Weakness Enumeration (CWE) identifiers such as CWE-79 Improper Neutralization of Input During Web Page Generation known generically as Cross-site Scripting, specifically in its stored variant where data is saved to a database before being served to users. Furthermore, the exploitation technique maps directly to MITRE ATT&CK tactics involving Initial Access and Credential Access. The specific method of extracting CSRF tokens or session cookies corresponds to techniques like Steal Web Session Cookie (T1539) and potentially Cross-Site Request Forgery if the stolen token is used to perform unauthorized actions on behalf of the victim. Understanding these mappings helps in categorizing the risk within broader threat intelligence frameworks and ensures that remediation efforts address not just the immediate code flaw but also the underlying architectural weaknesses in input handling and session management.

To mitigate this vulnerability, developers must implement strict output encoding for all data rendered from user-controlled sources, ensuring that special characters are converted to their HTML entity equivalents before being inserted into the DOM context of the city and province fields. Input validation should be enforced on both client and server sides, rejecting or sanitizing any input containing script tags or event handlers. Additionally, implementing a robust Content Security Policy (CSP) can significantly reduce the impact by restricting the sources from which scripts are allowed to execute, thereby preventing inline script execution even if injection occurs. Regular security audits and static code analysis tools should be integrated into the development lifecycle to detect such sanitization failures early. Updating FacturaScripts to patched versions that address these specific input handling issues is essential for restoring trust in the system's integrity and protecting sensitive business data from unauthorized access or manipulation.

Responsible

INCIBE

Reservation

06/11/2026

Disclosure

10/20/2026

Moderation

accepted

EPSS

0.00000

KEV

no

Activities

very low

Sources

Do you want to use VulDB in your project?

Use the official API to access entries easily!