PT-2026-23792 · Defuddle · Defuddle
Tinkanet
·
Publicado
2026-03-06
·
Atualizado
2026-03-11
·
CVE-2026-30830
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
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 += ;. 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.
Exploit
Correção
XSS
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Defuddle