Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconObtain editor-level HAX CMS account
-
DeliveryCraft node payload with whitespace-less event handler
-
ExploitPOST to /system/api/saveNode
-
InstallSanitizer bypass persists payload
-
C2Victim loads affected microsite page
-
ExecuteStored XSS executes in victim browser
-
ImpactHijack session or escalate to admin actions
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Attacker must hold an authenticated HAX CMS account with permission to edit pages (CVSS PR:L) and must be able to reach the /system/api/saveNode endpoint over the network; exploitation also requires a victim user to subsequently view the poisoned page (CVSS UI:R). The specific technical condition is that the payload must inject an event handler attribute with no whitespace before the attribute name in order to bypass the HTML sanitizer in haxcms-nodejs ≤26.0.0 or haxcms-php ≤26.0.0. Limiting factors are the requirement for an existing editor role, the need for a separate victim to render the content, and that deployments where editors are fully trusted single-tenant authors face reduced practical impact. |
| Impact | The CVSS 3.1 vector AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N reflects a network-reachable, low-complexity attack that requires low privileges (an authenticated editor) plus user interaction (a victim viewing the poisoned page); the scope change and High confidentiality and integrity impacts drive the 8.7 score. No EPSS score, KEV listing, or public POC was provided, so real-world exploitation pressure appears low to moderate - this is best treated as a serious bug for any multi-tenant or community-edited HAX CMS deployment but not a drop-everything emergency for single-author sites where the editor is already trusted. The required PR:L authenticated editor role is the principal limiting factor; conversely, the stored nature and scope change mean a single low-privilege editor can impact admins and other site visitors, which is the key reason to patch promptly. |
| Exploit ScenarioDerived | An attacker who holds (or phishes) a low-privilege editor account on a HAX CMS microsite submits a node update through /system/api/saveNode containing an HTML element whose event handler attribute (for example onerror) is concatenated to the preceding token without whitespace, slipping past the sanitizer. When a site administrator or other viewer later loads the page, the stored payload executes JavaScript in their browser session, enabling session hijacking, privilege escalation via authenticated admin actions, or defacement of additional microsites. No public POC is referenced, but the bypass technique is described concretely enough in the advisory to be reproducible by a competent attacker. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – May 29, 2026
Stored cross-site scripting in HAX CMS (haxcms-nodejs and haxcms-php) through version 26.0.0 allows authenticated page editors to bypass the HTML sanitizer via the /system/api/saveNode endpoint by omitting whitespace before an event handler attribute name. Successful exploitation executes attacker-controlled JavaScript in the browsers of other users viewing the affected microsite, with scope change enabling impact beyond the attacker's own privilege level. No public exploit identified at time of analysis, and the issue is not listed in CISA KEV.
RemediationAI
Vendor-released patches are available: upgrade @haxtheweb/haxcms-nodejs to 26.0.1 or haxcms-php to 26.0.2 per the GitHub Security Advisory at https://github.com/haxtheweb/issues/security/advisories/GHSA-g2g8-95qg-v35h. Until upgrades are deployed, compensating controls include restricting which accounts hold page-edit permissions to fully trusted users, auditing recently saved nodes via the /system/api/saveNode endpoint for event-handler attributes without preceding whitespace (e.g. patterns like "\"onerror=" or "/onload="), and fronting the application with a strict Content Security Policy that disallows inline event handlers and inline script - note that a strict CSP may break legitimate HAX components that rely on inline behavior and should be tested in staging before enforcement.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 3 packages in npm, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
HAX CMS is a microsite management platform distributed as two backends, @haxtheweb/haxcms-nodejs and haxcms-php, both identified in the CPE data (cpe:2.3:a:haxtheweb:haxcms-nodejs and cpe:2.3:a:haxtheweb:haxcms-php). The root cause maps to CWE-79 (Improper Neutralization of Input During Web Page Generation) - specifically a sanitizer parsing flaw where the HTML filter expects whitespace as an attribute delimiter and fails to recognize event handler attributes (e.g. onerror, onclick) packed against the preceding token. Because the malicious markup is persisted server-side via the saveNode API and later rendered to other viewers of the page, the flaw is a stored XSS rather than reflected, increasing reach and persistence within affected microsites.
Know when PHP 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
AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N
Primary rating from Vendor (GitHub_M) · only source for this CVE.
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
HAX CMS helps manage microsite universe with PHP or NodeJs backends. Versions up to and including 26.0.0 are affected by a stored cross-site scripting (XSS) vulnerability in the /system/api/saveNode endpoint. An authenticated user with a permission to edit pages can bypass the HTML sanitizer by injecting an event handler attribute without whitespace before the attribute name. @haxtheweb/haxcms-nodejs 26.0.1 and haxcms-php 26.0.2 patch the issue.
Executive ViewAI
HAX CMS (haxcms-nodejs and haxcms-php through version 26.0.0) allows authenticated page editors to inject persistent malicious JavaScript that executes in other users' browsers, potentially compromising user accounts, data, and application integrity. The vulnerability's scope-change designation amplifies organizational risk by enabling attackers to impact functionality beyond their authorized privilege level.
No vendor-released patch identified at time of analysis. Interim mitigations: (1) restrict page editor permissions to trusted users only with mandatory quarterly access review; (2) require documented approval workflow for all page changes before publication; (3) disable or restrict access to /system/api/saveNode endpoint if not actively in use; (4) deploy WAF rules to detect and block common XSS event handler attributes (on*, onerror, onload, etc.) in API requests; (5) enforce strict Content Security Policy headers to limit JavaScript execution scope; (6) enable audit logging and monitor /system/api/saveNode endpoint for suspicious activity.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it
sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not
(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear
The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by
ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C
Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au
Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c
Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
EUVD-2026-33286
GHSA-g2g8-95qg-v35h
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB