Skip to main content

HAX CMS EUVDEUVD-2026-33286

| CVE-2026-48527 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-05-29 GitHub_M GHSA-g2g8-95qg-v35h
8.7
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Recon
    Obtain editor-level HAX CMS account
  2. Delivery
    Craft node payload with whitespace-less event handler
  3. Exploit
    POST to /system/api/saveNode
  4. Install
    Sanitizer bypass persists payload
  5. C2
    Victim loads affected microsite page
  6. Execute
    Stored XSS executes in victim browser
  7. Impact
    Hijack 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.0% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – 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

haxcms-nodejs < 26.0.1
haxcms-php < 26.0.2

Affected Packages

npm @haxtheweb/haxcms-nodejs fix: 26.0.1
euvd haxcms_nodejs fix: 26.0.1
euvd haxcms_php fix: 26.0.2

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

Vendor (GitHub_M) PRIMARY 8.7 HIGH
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

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
Required
Scope
Changed
Confidentiality
High
Integrity
High
Availability
None

Lifecycle Timeline

1
Patch available
May 29, 2026 - 14:01 EUVD

DescriptionCVE.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

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
0.0%
Top 90% exploitable
Threat Intel
1
1 source
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA GitHub

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 HIGH
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

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

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

More in PHP

View all
CVE-2019-11043 CRITICAL POC
9.8 Oct 28

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

CVE-2012-1823 CRITICAL POC
9.8 May 11

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

CVE-2016-1555 CRITICAL POC
9.8 Apr 21

(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear

CVE-2018-11138 CRITICAL POC
9.8 May 31

The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by

CVE-2024-11680 CRITICAL POC
9.8 Nov 26

ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C

CVE-2025-49113 CRITICAL POC
9.9 Jun 02

Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au

CVE-2017-9841 CRITICAL POC
9.8 Jun 27

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

CVE-2025-0108 HIGH POC
8.8 Feb 12

Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers

CVE-2021-25298 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2021-25296 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2013-4983 CRITICAL POC
10.0 Sep 10

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

CVE-2023-6553 CRITICAL POC
9.8 Dec 15

The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1

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