PT-2026-51063 · Git+4 · Oj+1
CVSS v3.1
5.3
Média
| Vetor | AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N |
Nome do Software Vulnerável e Versões Afetadas
Oj versões anteriores a 3.17.3
Description
Ao analisar um objeto JSON com uma chave de 254 bytes ou mais, a função
Oj.load no modo :object lê memória de pilha não inicializada. Para chaves com 256 bytes ou mais, o processo também realiza uma leitura fora dos limites. Isso ocorre porque a função form attr() em ext/oj/intern.c passa incorretamente um buffer de pilha não inicializado buf em vez do buffer de heap b corretamente preenchido para a função rb intern3(). A memória vazada pode ser exposta ao chamador por meio do Symbol produzido ou via uma mensagem de EncodingError disparada por sequências UTF-8 inválidas, potencialmente revelando conteúdos da pilha do processo.Recommendations
Atualize para a versão 3.17.3.
Evite usar
Oj.load no modo :object ao analisar entradas não confiáveis.Exploit
Correção
Use of Uninitialized Resource
Out of bounds Read
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Oj
Ruby-Oj