CVE.futuretools
NVD NIST
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 = {Оперативный инженерный анализ киберугроз}
}