PT-2026-44135 · Symfony · Sanitize-Html
CVE-2026-45066
·
Publicado
2026-05-21
·
Atualizado
2026-07-14
CVSS v3.1
6.1
Média
| Vetor | AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N |
Nome do Software Vulnerável e Versões Afetadas
symfony/html-sanitizer versões anteriores a 5.4
Description
Três falhas de bypass permitem que autores de conteúdo enviem URLs que não estão na lista de permissões (allowlist) através das verificações de sanitização. O primeiro bypass ocorre porque
UrlSanitizer::parse() segue a RFC-3986, enquanto os navegadores seguem o Padrão de URL WHATWG, que normaliza barras invertidas (``) para barras normais (/) antes de analisar a autoridade de esquemas especiais. Isso permite que uma entrada como https://evil@trusted.com/ seja analisada como trusted.com no servidor, mas navegue para https://evil/ no navegador. O segundo bypass envolve o padrão WHATWG, que colapsa qualquer sequência de barras (/) após o esquema em //, enquanto a RFC-3986 não o faz; consequentemente, entradas como https:/evil.com/ ou https:///evil.com/ são analisadas como sem host, ignorando a lista de permissões de host, mas resolvem para evil.com no navegador. O terceiro bypass existe no UrlAttributeSanitizer, que aplica a política de links apenas a elementos <a>. Como os elementos <area> também são hiperlinks navegáveis, eles eram incorretamente sanitizados com a política de mídia, ignorando completamente allowLinkHosts() e allowLinkSchemes().Recommendations
Atualize para a versão 5.4 ou posterior.
Exploit
Correção
Incomplete List of Disallowed Inputs
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Sanitize-Html