Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Primary rating from NVD · only source for this CVE.
CVSS VectorNVD
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Lifecycle Timeline
4DescriptionCVE.org
Namespace attributes are not encoded correctly during HTML serialization. This allows bypassing the cross-site scripting prevention mechanism of typo3/html-sanitizer before version 2.3.2.
AnalysisAI
HTML serialization in typo3/html-sanitizer before version 2.3.2 fails to encode namespace attributes (xmlns:*), allowing an authenticated low-privilege attacker to inject unsanitized XSS payloads that execute in victims' browsers. The vulnerability bypasses the library's core XSS prevention purpose: crafted namespace attribute values containing raw HTML (e.g., onerror handlers) survive the sanitizer and render as executable markup. No public exploit has been independently identified at time of analysis, though the vendor-published commit includes a working test case demonstrating the exact bypass payload.
Technical ContextAI
The affected component is the HTML serializer in typo3/html-sanitizer, a PHP library (cpe:2.3:a:typo3:html_sanitizer:*:*:*:*:*:*:*:*) used to sanitize user-supplied HTML before rendering. The root cause (CWE-79: Improper Neutralization of Input During Web Page Generation) lies in the namespaceAttrs() method of src/Serializer/Rules.php, which prior to the fix omitted proper HTML encoding of XML namespace attribute values during serialization. Namespace declarations (xmlns:prefix='...') are part of the XML/HTML5 serialization spec; their values are treated as plain attribute strings. The sanitizer was escaping element attributes but inadvertently skipping the encoding step for namespace nodes, so a value like "><img src=x onerror=alert(document.domain)> would be written back to the DOM unescaped. The fix overrides namespaceAttrs() to call $this->enc() on all namespace node values before emitting them, closing the bypass path.
RemediationAI
Upgrade typo3/html-sanitizer to version 2.3.2 or later; this is the vendor-released patch confirmed by the TYPO3 security advisory at https://typo3.org/security/advisory/typo3-core-sa-2026-006 and the upstream fix commit at https://github.com/TYPO3/html-sanitizer/commit/8b5d0be44ded457ca993ec9ca93d859941c63764. For Composer-based projects, run composer update typo3/html-sanitizer. If an immediate upgrade is not possible, a targeted workaround is to restrict who can submit HTML content that passes through the sanitizer - elevating the effective privilege threshold above PR:L reduces the attacker pool significantly. Disabling XML namespace handling at the application layer (if your use case does not require SVG or MathML namespace embedding) is another compensating control, though this may break legitimate content. There are no known generic WAF signatures that reliably block namespace-based XSS bypasses, so the patch is the only fully effective remediation.
More in Html Sanitizer
View allCross-site scripting (XSS) vulnerability in the rails-html-sanitizer gem 1.0.2 for Ruby on Rails 4.2.x and 5.x allows re
Cross-site scripting (XSS) vulnerability in the rails-html-sanitizer gem before 1.0.3 for Ruby on Rails 4.2.x and 5.x al
Cross-site scripting (XSS) vulnerability in lib/rails/html/scrubbers.rb in the rails-html-sanitizer gem before 1.0.3 for
TYPO3 is an open source PHP based web content management system released under the GNU GPL. Rated medium severity (CVSS
TYPO3 HTML Sanitizer is an HTML sanitizer, written in PHP, aiming to provide cross-site-scripting-safe markup based on e
HTML sanitizer is written in PHP, aiming to provide XSS-safe markup based on explicitly allowed tags, attributes and val
The typo3/html-sanitizer package is an HTML sanitizer, written in PHP, aiming to provide XSS-safe markup based on explic
There is a possible XSS vulnerability in all rails-html-sanitizer gem versions below 1.0.4 for Ruby. Rated medium severi
XSS sanitizer bypass in typo3/html-sanitizer before 2.3.2 allows authenticated low-privileged users to inject unsanitize
Same weakness CWE-79 – Cross-site Scripting (XSS)
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-35192
GHSA-p5j5-4j3q-8mq8