Tinkanet

#3952de 53,635
65.5CVSS total
Vulnerabilidades · 8
Média
1
Alta
5
Crítica
2
PT-2026-23792
6.1
2026-03-06
Defuddle · Defuddle · CVE-2026-30830
**Nome do Software Vulnerável e Versões Afetadas** Versões do Defuddle anteriores a 0.9.0 **Descrição** O Defuddle contém uma falha no método ` findContentBySchemaText` dentro de `src/defuddle.ts`. Este método interpola diretamente os atributos `src` e `alt` da imagem em uma string HTML sem escape adequado. Um atacante pode explorar um caractere de aspas duplas (") dentro do atributo `alt` para sair do contexto do atributo e injetar manipuladores de eventos, levando a um possível cross-site scripting (XSS). O problema ocorre durante a construção da string, não dentro do DOM, contornando a função ` stripUnsafeElements`. A vulnerabilidade é acionada ao processar HTML com dados estruturados schema.org e uma imagem irmã com um atributo `alt` elaborado. O código afetado usa interpolação de string: `html += `<img src="${imageSrc}" alt="${imageAlt}">`;`. A função `getAttribute()` retorna valores brutos dos atributos, e a presença de um caractere de aspas no atributo `alt` permite a injeção de manipuladores de eventos como `onload`. Isso pode impactar aplicações que renderizam a saída HTML do Defuddle, como extensões de navegador, web clippers e modos de leitura. **Recomendações** As versões anteriores a 0.9.0 devem ser atualizadas para a versão 0.9.0 ou posterior. Como alternativa, utilize a API DOM em vez de interpolação de string ao criar elementos de imagem. Especificamente, utilize o seguinte código: ```typescript if (imageSrc) { const img = this.doc.createElement('img'); img.setAttribute('src', imageSrc); img.setAttribute('alt', imageAlt); html += img.outerHTML; } ``` Essa abordagem garante que os valores dos atributos sejam devidamente escapados pelo serializador DOM.