PT-2025-42492 · Quickjs+1 · Quickjs+1
Publicado
2025-10-16
·
Atualizado
2025-10-17
·
CVE-2025-62495
CVSS v3.1
8.8
Alta
| Vetor | AV: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
Produtos afetados
Debian
Quickjs