PT-2026-108126 · Npm · Svg-Sanitizer
CVE-2026-107379
·
Publicado
2026-10-08
·
Atualizado
2026-10-09
CVSS v3.1
6.5
Média
| Vetor | AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H |
Nome do Software Vulnerável e Versões Afetadas
enshrined/svg-sanitize versões anteriores a 1.0.0
Description
Uma falha existe na função
cleanAttributesOnWhitelist() em src/Sanitizer.php, onde o software não remove as declarações DOCTYPE/DTD antes do processamento. Um invasor pode fornecer um SVG manipulado contendo um DTD com um atributo padrão #FIXED. Isso faz com que a função cleanAttributesOnWhitelist() execute a chamada DOMElement::removeAttribute() duas vezes para o mesmo nome de atributo. A primeira chamada remove o atributo explícito, mas o padrão do DTD rematerializa o valor, levando a segunda chamada a atingir o nó de declaração do DTD. Isso desencadeia uma confusão de tipo na extensão ext/dom do PHP, que corrompe o estado do libxml e encerra o processo do worker PHP (SIGABRT). Um invasor que envie tal conteúdo para um endpoint de sanitização pode derrubar repetidamente os workers, resultando na degradação da disponibilidade da aplicação ou em um Denial of Service (DoS) completo. Em alguns ambientes, esse travamento pode ignorar funções de encerramento, levando potencialmente à corrupção do estado da aplicação, como a reutilização indevida de cupons ou a venda de produtos sem estoque.Recommendations
Atualize o enshrined/svg-sanitize para a versão 1.0.0.
Como medida de mitigação temporária, remova as declarações DOCTYPE do conteúdo SVG antes de passá-lo para a função
sanitize().Exploit
Correção
Allocation of Resources Without Limits
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Svg-Sanitizer