PT-2026-44135 · Symfony · Sanitize-Html

Published

2026-05-21

·

Updated

2026-05-27

·

CVE-2026-45066

None

No severity ratings or metrics are available. When they are, we'll update the corresponding info on the page.
Name of the Vulnerable Software and Affected Versions symfony/html-sanitizer versions prior to 5.4
Description Three bypasses allow content authors to smuggle URLs that are not on the allowlist past sanitization checks. The first bypass occurs because UrlSanitizer::parse() follows RFC-3986, whereas browsers follow the WHATWG URL Standard, which normalizes backslashes (``) to forward slashes (/) before parsing the authority of special schemes. This allows an input like https://evil@trusted.com/ to be parsed as trusted.com on the server but navigate to https://evil/ in the browser. The second bypass involves the WHATWG standard collapsing multiple forward slashes after a scheme into //, while RFC-3986 does not; consequently, inputs like https:/evil.com/ or https:///evil.com/ are parsed as host-less, skipping the host allowlist, but resolve to evil.com in the browser. The third bypass exists in UrlAttributeSanitizer, which only applies the link policy to <a> elements. Since <area> elements are also navigable hyperlinks, they were incorrectly sanitized against the media policy, bypassing allowLinkHosts() and allowLinkSchemes() entirely.
Recommendations Update to version 5.4 or later.

Exploit

Incomplete List of Disallowed Inputs

Weakness Enumeration

Related Identifiers

CVE-2026-45066
GHSA-QC95-4862-92FH

Affected Products

Sanitize-Html