PT-2026-23792 · Defuddle · Defuddle

Tinkanet

·

Publicado

2026-03-06

·

Atualizado

2026-03-11

·

CVE-2026-30830

CVSS v3.1

6.1

Média

VetorAV: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 += ${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.

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

CVE-2026-30830
GHSA-5MQ8-78GM-PJMQ

Produtos afetados

Defuddle