xhtml-purifier is a Node.js library to take in raw/unknown/untrusted HTML and output cleaned, purified, trusted HTML. Versions prior to 0.4.3 do not HTML-entity-encode attribute values when serializing its sanitized output. In attributeString() (XHTMLPurifier.js, around line 148) the attribute value is concatenated directly into a double-quoted attribute without encoding. As a result, an attacker-controlled value in any allowed attribute (class, style, title, alt, src, href) can include a double-quote character to break out of the attribute and inject an additional attribute, such as a JavaScript event handler (for example onmouseover or onerror). The injected handler survives sanitization and executes when the output is rendered, which is a sanitizer bypass leading to cross-site scripting. The fix in version 0.4.3 HTML-entity-encodes attribute values before serialization.
CVE-2026-61784
This medium-severity CVE scores 6.1 under a secondary CVSS source (NVD's own analysis pending). EPSS exploit-prediction score not yet available (the EPSS model rescores nightly; freshly-published CVEs typically appear within 48 hours). GitHub Security Advisory data not yet ingested — confidence will rise once GHSA publishes (typical lag: hours to days for open-source ecosystem CVEs; never for infrastructure-only CVEs).
- Lower severity and no public exploit yet
No vendor fix yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for a patch.
- CVSS v3
- 6.1
- EG Score
- 6.1(low)
- EG Risk
- 32(Track)EG Risk 32/100SSVC: Track
EG Risk is EchelonGraph's 0–100 priority score: it fuses intrinsic severity with real-world exploitation and automatability so you can rank equal-severity CVEs and fix the most dangerous first. Higher = act sooner. Distinct from the 0–10 EG Score (severity).
How it’s computedSeverity61% × 45%Exploitation0% × 40%Automatability30% × 15%Action: Routine — remediate on your standard cadence. - EPSS PROB
- —
- EPSS %ILE
- —
- KEV
- Not listed
Published
September 24, 2026
Last Modified
September 24, 2026
Advisory Details (2)
Auto-updated Sep 24, 2026commit 21d461ad23e7 (cstigler/node-xhtml-purifier)
Fix landed in cstigler/node-xhtml-purifier commit 21d461ad23e7 — awaiting tagged release
https://github.com/cstigler/node-xhtml-purifier/commit/21d461ad23e7bc9b3073693d5b51b9b8662044d3HTML attribute-injection (sanitizer bypass) in xhtml-purifier leads to XSS · Advisory · cstigler/node-xhtml-purifier · GitHub
https://github.com/cstigler/node-xhtml-purifier/security/advisories/GHSA-j8r4-32c5-33rcVendor Advisories for CVE-2026-61784(1)
These vendors published their own advisory mentioning this CVE — often with vendor-specific remediation steps + affected product lists not in NVD.
Weakness Classification(2)
MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.
Data Freshness Timeline
(refreshed 3× in last 7d / 3× in last 30d)
Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.
- 2026-09-24 18:35 UTCEG score recompute
- 2026-09-24 17:47 UTCEG score recompute
- 2026-09-24 17:46 UTCMITRE cvelistV5first tracked
Related CVEs(same CWE)
Frequently asked(4)
What is CVE-2026-61784?
When was CVE-2026-61784 disclosed?
What is the CVSS score of CVE-2026-61784?
How do I remediate CVE-2026-61784?
Dependency Blast Radius
Explore the affected products and dependency analysis for CVE-2026-61784
Is Your Infrastructure Affected by CVE-2026-61784?
EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.