PT-2025-42492 · Quickjs+1 · Quickjs+1

Publicado

2025-10-16

·

Atualizado

2025-10-17

·

CVE-2025-62495

CVSS v3.1

8.8

Alta

VetorAV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Nome do Software Vulnerável e Versões Afetadas Versões do QuickJS (versões afetadas não especificadas)
Descrição Existe um overflow de inteiro no mecanismo de expressões regulares do QuickJS (libregexp) devido a uma representação inconsistente do tamanho do buffer de bytecode. O tamanho do bytecode da expressão regular é armazenado como um tipo sem sinal (unsigned), mas várias funções convertem incorretamente esse valor para um inteiro com sinal (signed). Quando o tamanho do bytecode excede o valor positivo máximo para um inteiro com sinal de 32 bits, o tamanho sofre um wrap-around, resultando em um inteiro negativo. Este valor negativo é então utilizado em cálculos de offset, levando a uma escrita fora dos limites (out-of-bounds write). O problema ocorre ao analisar uma expressão regular grande ou complexa, como aquelas geradas por um padrão recursivo. Especificamente, funções como re emit op u32 e re parse disjunction estão envolvidas na conversão incorreta e nos cálculos de offset. O parâmetro vulnerável é o pos, utilizado nos cálculos de offset.
Recomendações No momento, não há informações sobre uma versão mais recente que contenha uma correção para esta vulnerabilidade.

Exploit

Integer Underflow

Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾

Enumeração de Fraquezas

Identificadores relacionados

CVE-2025-62495

Produtos afetados

Debian
Quickjs