PT-2026-51092 · Rubygems · Concurrent-Ruby

CVE-2026-54906

·

Publicado

2026-06-19

·

Atualizado

2026-07-21

CVSS v3.1

9.8

Crítica

VetorAV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Nome do Software Vulnerável e Versões Afetadas concurrent-ruby versões anteriores a 1.3.7
Descrição Um problema de correção de sincronização existe na API pública Concurrent::ReadWriteLock. A função release write lock() não verifica se a thread chamadora realmente adquiriu o bloqueio de escrita, permitindo que qualquer thread com acesso ao objeto de bloqueio libere um bloqueio de escrita mantido por outra thread. Isso pode levar a uma situação em que um segundo escritor entra em sua seção crítica enquanto o primeiro escritor ainda está ativo, quebrando a exclusão mútua e potencialmente causando condições de corrida de dados.
Além disso, a função release read lock() decrementa o contador compartilhado mesmo quando nenhum bloqueio de leitura é mantido. Se chamada em um bloqueio novo, o contador muda de 0 para -1, o que faz com que aquisições de leitura subsequentes falhem ao lançar um Concurrent::ResourceLimitError (um erro indicando que o sistema atingiu seu limite de threads de leitura), resultando efetivamente em uma negação de serviço para aquele bloqueio.
Recomendações Atualize para a versão 1.3.7. Como medida paliativa temporária, restrinja o uso das funções manuais release write lock() e release read lock() para garantir que sejam chamadas apenas pelas threads que adquiriram os respectivos bloqueios.

Exploit

Correção

Improper Locking

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

Enumeração de Fraquezas

Identificadores relacionados

AZL-91287
CLEANSTART-2026-DE16221
CLEANSTART-2026-UT74115
CVE-2026-54906
GHSA-6WX8-W4F5-WWCR

Produtos afetados

Concurrent-Ruby