PT-2026-51090 · Rubygems · Concurrent-Ruby
Publicado
2026-06-19
·
Atualizado
2026-06-24
·
CVE-2026-54904
CVSS v4.0
8.2
Alta
| Vetor | AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/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:X |
Nome do Software Vulnerável e Versões Afetadas
concurrent-ruby versões anteriores a 1.3.7
Description
A função
Concurrent::AtomicReference#update pode entrar em um loop de repetição ocupado permanente quando o valor atual é Float::NAN. Isso ocorre devido à interação entre AtomicReference#update, que tenta novamente até que compare and set(old value, new value) seja bem-sucedido, e a função numérica compare and set, que verifica se old == old value antes de tentar uma troca atômica. Como a semântica NaN (Not a Number) do Ruby determina que Float::NAN == Float::NAN é sempre falso, a comparação falha todas as vezes, fazendo com que a função avalie repetidamente o bloco do chamador sem retornar. Em serviços que armazenam valores numéricos derivados externamente em um AtomicReference, isso pode levar ao esgotamento da CPU ou travamentos permanentes de requisições e tarefas.Recommendations
Atualize para a versão 1.3.7.
Correção
DoS
Infinite Loop
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Concurrent-Ruby