CVE-2026-54906
concurrent-ruby: ReadWriteLock allows wrong-thread write release and stray read-release counter corruption
CVSS 3.1Low
2.1/ 10.0
Опубликовано
Обновлено
В атаках
Не зафиксировано
Публичный PoC
Отсутствует
Анализ подготовлен:CVE Futuretools Threat Intelligence
Верификация: MITRE CVE List · CISA KEV · NIST NVD
ПАТЧ ДОСТУПЕН: ВЕРСИЯ 1.3.7
Обновите gem concurrent-ruby до версии 1.3.7 или новее.
01 // ТЕХНИЧЕСКАЯ СУТЬ УЯЗВИМОСТИ
В concurrent-ruby нарушена логика синхронизации в Concurrent::ReadWriteLock. Метод release_write_lock позволяет освободить блокировку записи чужим потоком, а release_read_lock повреждает внутренний счетчик.
02 // АНАТОМИЯ АТАКИ И ДЕФЕКТ ЛОГИКИ
В версиях до 1.3.7 Concurrent::ReadWriteLock#release_write_lock не проверяет принадлежность блокировки вызывающему потоку, позволяя любому потоку снять чужой write lock. Параллельно Concurrent::ReadWriteLock#release_read_lock уменьшает счетчик чтения ниже нуля при вызове без удержания блокировки, переводя состояние в -1.
03 // СИСТЕМНЫЕ ПОСЛЕДСТВИЯ
Состояние гонки (race condition), нарушение изоляции критических секций одновременными писателями и отказ в обслуживании (DoS) из-за выброса Concurrent::ResourceLimitError при захвате чтения.
04 // МАТРИЦА ЗАТРОНУТЫХ ПАКЕТОВ
ruby-concurrencyconcurrent-ruby
все ранние➔Fix: 1.3.7
——
>= 0➔Fix: 1.3.7
05 // ПЕРВОИСТОЧНИКИ И БЮЛЛЕТЕНИ (1)
06 // ЦИТИРОВАНИЕ ДАННЫХ И ИСТОЧНИК
Для включения аналитической карточки в отчёты по безопасности, матрицы рисков или исследовательские публикации используйте стандартизированный формат цитирования:
Библиографическая ссылка (Plain text)
CVE Futuretools (2026). Анализ уязвимости CVE-2026-54906: concurrent-ruby: ReadWriteLock allows wrong-thread write release and stray read-release counter corruption. URL: https://cve.futuretools.ru/cve/CVE-2026-54906
BibTeX формат (LaTeX)
@misc{cve_futuretools_cve_2026_54906,
title = {{CVE-2026-54906: concurrent-ruby: ReadWriteLock allows wrong-thread write release and stray read-release counter corruption}},
author = {{CVE Futuretools}},
year = {2026},
howpublished = {\url{https://cve.futuretools.ru/cve/CVE-2026-54906}},
note = {Оперативный инженерный анализ киберугроз}
}