
PEACH
Un cadre d’isolation des locataires
CVE-2026-118517 is an authorization bypass vulnerability in Symfony's HtmlSanitizer component, specifically in UrlSanitizer, where host allow-lists can be bypassed via malformed URL authorities. It is an incomplete fix for a prior vulnerability, CVE-2026-45066. Affected packages are symfony/html-sanitizer and symfony/symfony versions >=6.1 <6.4.50, >=7 <7.4.23, and >=8 <8.1.11. The vulnerability was disclosed on November 4, 2026, with patches available the same day. It carries a Low severity rating (Symfony Advisory, GitHub Advisory).
The root cause is classified under CWE-184 (Incomplete List of Disallowed Inputs) and CWE-436 (Interpretation Conflict). UrlSanitizer uses league/uri to parse URLs per RFC 3986, which for zero-slash scheme URLs like http:evil.example returns a null host and a path of evil.example. Because the host is null, the sanitizer skips the allow-list check; when allowRelativeLinks(true) is set, it also waives rejection of hostless URLs, allowing the malformed URL to pass through unchanged. Browsers, however, parse the same string under the WHATWG URL standard and resolve evil.example as the authority, navigating users to the attacker-controlled domain. The guard introduced for CVE-2026-45066 only blocked one-slash (http:/evil.example) and three-slash (http:///evil.example) forms via the regex ~^(?:https?|ftp|wss?):(/[^/]|///)~i, leaving the zero-slash form unblocked. Additional bypass variants include scheme-relative URLs with three or more slashes (///evil.example) and empty-authority URLs (https://://evil.example/) (GitHub Advisory).
An unauthenticated attacker can craft malformed URLs that survive HTML sanitization and redirect users who click them to attacker-controlled domains, enabling phishing, credential harvesting, or malware delivery. The bypass only applies when both a host allow-list and allowRelativeLinks(true) (or allowRelativeMedias(true)) are configured — a common content-management setup — so the default configuration is not affected. The media policy is equally affected under allowRelativeMedias(true), potentially allowing injection of attacker-controlled media resources (GitHub Advisory, Symfony Advisory).
There is no evidence of public proof-of-concept exploit code or in-the-wild exploitation at this time. The vulnerability requires a specific opt-in configuration (host allow-list combined with allowRelativeLinks(true)), which limits the attack surface. No threat actor attribution or CISA KEV catalog listing has been identified. The EPSS score is not yet available given the recent disclosure date (GitHub Advisory, Symfony Advisory).
HtmlSanitizer with a configuration that includes both allowLinkHosts([...]) and allowRelativeLinks(true) — typical in CMS-style deployments.http:evil.example/login or http:evil.example/phishing-page, which RFC 3986 parses as having a null host but browsers resolve as the authority evil.example.<a href="http:evil.example/login">Click here</a>) through any user-controlled input field that passes through the sanitizer.allowRelativeLinks(true) prevents rejection of hostless URLs, so the link passes through unchanged.http:evil.example/login to http://evil.example/login and navigates to the attacker-controlled domain, enabling phishing or credential theft (GitHub Advisory).https?:[^/][^/], ///, or https?://:// in href or src attributes.href="http:evil.example/...") that were not stripped by the sanitizer.Update to the patched versions: symfony/html-sanitizer and symfony/symfony versions 6.4.50, 7.4.23, or 8.1.11. The fix requires special schemes (http, https, ftp, ws, wss) to be followed by exactly //, closing zero-, one-, and three-slash bypass spellings, and rejects URLs with an empty authority. As a workaround, disable allowRelativeLinks(true) and allowRelativeMedias(true) if not strictly required, as the default configuration (relative links disabled) is not affected. Review and test sanitizer configurations with malformed URL authorities to verify allow-lists are enforced correctly (GitHub Advisory, Symfony Advisory).
The vulnerability was reported by Ilia Alshanetsky, with CVE assignment assistance from Bruno Dias and Catarina Amorim of Checkmarx. The fix was developed by nicolas-grekas from the Symfony core team. The advisory was rated Low severity by Symfony, reflecting the limited attack surface due to the required opt-in configuration (GitHub Advisory).
Corrigez la disponibilité entre les grandes distributions Linux et leurs versions.
Source: Ce rapport a été généré à l’aide de l’IA
Évaluation gratuite des vulnérabilités
Évaluez vos pratiques de sécurité cloud dans 9 domaines de sécurité afin d’évaluer votre niveau de risque et d’identifier les lacunes dans vos défenses.
Obtenez une démo personnalisée
"La meilleure expérience utilisateur que j’ai jamais vue, offre une visibilité totale sur les workloads cloud."
"Wiz fournit une interface unique pour voir ce qui se passe dans nos environnements cloud."
"Nous savons que si Wiz identifie quelque chose comme critique, c’est qu’il l’est réellement."