PT-2026-22989 · Unknown · Lxml Html Clean
Uug4Na
·
Publicado
2026-02-27
·
Atualizado
2026-03-11
·
CVE-2026-28348
CVSS v2.0
6.4
Média
| Vetor | AV:N/AC:L/Au:N/C:P/I:P/A:N |
Nome do Software Vulnerável e Versões Afetadas
lxml html clean versões anteriores à 0.4.4
Descrição
O método
has sneaky javascript() no lxml html clean remove incorretamente barras invertidas antes de verificar palavras-chave CSS perigosas. Isso permite que sequências de escape Unicode em CSS ignorem os filtros @import e expression(), possibilitando a carga de CSS externo ou scripts entre sites (XSS) em navegadores mais antigos. A causa raiz é uma operação incorreta de remoção de barras invertidas no arquivo clean.py, em torno da linha 594. Especificamente, a linha style = style.replace('', '') transforma cargas úteis como @69mport em @69mport, o que ignora a lista negra. Navegadores modernos interpretam 69 como o caractere 'i' de acordo com as especificações CSS, permitindo efetivamente a execução da instrução @import. Essa falha também afeta a detecção de expression(), representando um risco em versões mais antigas do Internet Explorer. Uma prova de conceito demonstra que uma instrução @import normalmente bloqueada pode ser executada com sucesso usando o bypass de escape Unicode. Isso pode levar à exfiltração de dados por meio de seletores de atributo, redirecionamento de interface e ataques de phishing. Em navegadores mais antigos, pode permitir XSS completo por meio da função expression().Recomendações
As versões anteriores à 0.4.4 devem ser atualizadas para a versão 0.4.4 ou posterior.
Exploit
Correção
Improper Encoding or Escaping of Output
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Lxml Html Clean