PT-2026-3905 · Jsdiff · Jsdiff
Guiyi-He
·
Publicado
2026-01-14
·
Atualizado
2026-06-04
·
CVE-2026-24001
CVSS v3.1
7.5
Alta
| Vetor | AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
Nome do Software Vulnerável e Versões Afetadas
jsdiff versões anteriores a 8.0.3
jsdiff versões anteriores a 5.2.2
jsdiff versões anteriores a 4.0.4
Descrição
jsdiff é uma implementação JavaScript de diferenciação de texto. Ao processar um arquivo de patch, se os cabeçalhos de nome de arquivo contiverem caracteres específicos de quebra de linha (
r, u2028 ou u2029), o método parsePatch pode entrar em um loop infinito, levando ao consumo excessivo de memória e a um possível ataque de negação de serviço (DoS). O método applyPatch também é afetado quando chamado com uma representação em string de um patch, já que utiliza internamente o método parsePatch. Uma vulnerabilidade ReDOS (Negação de Serviço por Expressão Regular) também existe quando esses caracteres de quebra de linha estão presentes no cabeçalho do patch, potencialmente fazendo com que o método parsePatch leve tempo O(n³) para analisar um cabeçalho maliciosamente elaborado de comprimento n. Este problema não requer uma carga útil grande para ser acionado, e limites de tamanho na entrada do usuário não oferecem proteção. Aplicações que chamam parsePatch com patches fornecidos pelo usuário são suscetíveis.Recomendações
jsdiff versões anteriores a 8.0.3: Atualize para a versão 8.0.3 ou superior.
jsdiff versões anteriores a 5.2.2: Atualize para a versão 5.2.2 ou superior.
jsdiff versões anteriores a 4.0.4: Atualize para a versão 4.0.4 ou superior.
Como solução temporária, evite analisar patches que contenham os caracteres
r, u2028 ou u2029.Exploit
Correção
RCE
DoS
Resource Exhaustion
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Jsdiff