CVE.futuretools
NVD NIST
CVE-2026-71847

Ruby JSON: JSON::ResumableParser#partial_value dereferences a freed input buffer and crashes on truncated duplicate-key streams

CVSS 3.1High
8.7/ 10.0
Опубликовано
Обновлено
В атаках
Не зафиксировано
Публичный PoC
Отсутствует
Анализ подготовлен:CVE Futuretools Threat Intelligence
Верификация: MITRE CVE List · CISA KEV · NIST NVD
ПАТЧ ДОСТУПЕН: ВЕРСИЯ 2.21.2
Обновите гем json до версии 2.21.2 или выше.

01 // ТЕХНИЧЕСКАЯ СУТЬ УЯЗВИМОСТИ

Heap Use-After-Free в парсере Ruby JSON. Обработка дублирующихся ключей в потоке JSON::ResumableParser вызывает разыменование повисших указателей и аварийное завершение процесса.

02 // АНАТОМИЯ АТАКИ И ДЕФЕКТ ЛОГИКИ

В C-расширении гема json метод JSON::ResumableParser очищает входной буфер, но оставляет указатели state.start, state.cursor и state.end направленными на освобожденную память. Вызов partial_value для неполного объекта с дублирующимися ключами инициирует генерацию предупреждения и вызов cursor_position, разыменовывающий повисшие указатели.

03 // СИСТЕМНЫЕ ПОСЛЕДСТВИЯ

DoS-атака через аварийное завершение процесса Ruby; потенциальная компрометация целостности кучи из-за использования памяти после освобождения (heap UAF).

04 // МАТРИЦА ЗАТРОНУТЫХ ПАКЕТОВ

rubyjson
>= 2.20.0➔Fix: 2.21.2
——
>= 2.20.0➔Fix: 2.21.2

05 // ПЕРВОИСТОЧНИКИ И БЮЛЛЕТЕНИ (1)

06 // ЦИТИРОВАНИЕ ДАННЫХ И ИСТОЧНИК

Для включения аналитической карточки в отчёты по безопасности, матрицы рисков или исследовательские публикации используйте стандартизированный формат цитирования:

Библиографическая ссылка (Plain text)
CVE Futuretools (2026). Анализ уязвимости CVE-2026-71847: Ruby JSON: JSON::ResumableParser#partial_value dereferences a freed input buffer and crashes on truncated duplicate-key streams. URL: https://cve.futuretools.ru/cve/CVE-2026-71847
BibTeX формат (LaTeX)
@misc{cve_futuretools_cve_2026_71847,
  title = {{CVE-2026-71847: Ruby JSON: JSON::ResumableParser#partial_value dereferences a freed input buffer and crashes on truncated duplicate-key streams}},
  author = {{CVE Futuretools}},
  year = {2026},
  howpublished = {\url{https://cve.futuretools.ru/cve/CVE-2026-71847}},
  note = {Оперативный инженерный анализ киберугроз}
}