PT-2026-3905 · Jsdiff · Jsdiff

Guiyi-He

·

Publicado

2026-01-14

·

Atualizado

2026-06-04

·

CVE-2026-24001

CVSS v3.1

7.5

Alta

VetorAV: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 👾

Enumeração de Fraquezas

Identificadores relacionados

BDU:2026-01717
CVE-2026-24001
GHSA-73RR-HH4G-FPGX

Produtos afetados

Jsdiff