CVE-2026-54902
Oj: Use-After-Free no Oj::Parser SAJ Long Key Callback
- Publicado
- 30 de jun. de 2026
- Atualizado
- 1 de jul. de 2026
- Atribuindo CNA
- GitHub_M
- Evidência observada
- 12 de ago. de 2026
CVSS primário
nvd · CVSS 4.0
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XBaixo · próximos 30 dias
- Percentil
- 36,5%
- Data do modelo
- 21 de set. de 2026
EPSS é uma estimativa estatística, não uma certeza ou uma medida de impacto. Combine-o com CVSS, status KEV, exposição e seu ambiente.
Resumo
Oj (Optimized JSON) é um parser JSON e marshaller de objetos empacotado como uma gem Ruby. Antes da versão 3.17.2, é vulnerável a Use-After-Free quando no modo SAJ. O Oj::Parser não protege chaves de objeto em cache (≥ 35 bytes) da coleta de lixo, e um callback Ruby que aciona o GC dentro de hash_end pode fazer com que a string da chave seja recuperada enquanto o parser C ainda mantém um ponteiro para ela. O acesso subsequente ao VALUE da string liberada resulta em um segfault, confirmado por um RIP apontando para o endereço 0x4242 (um padrão estilo canário sugerindo controle sobre o conteúdo da memória liberada). Este problema foi corrigido na versão 3.17.2.
Fontes
1CVE-2026-54900, CVE-2026-54902 - Rascunho
Uso responsável
Use informações de vulnerabilidade apenas em sistemas que você possui ou está autorizado a testar. O Kitploit vincula-se a metadados de pesquisa pública e não armazena código de exploração ou cargas maliciosas.