Ruby JSON has a format string injection vulnerability
Ruby JSON is a JSON implementation for Ruby. From version 2.14.0 to before versions 2.15.2.1, 2.17.1.2, and 2.19.2, a format string injection vulnerability can lead to denial of service attacks or information disclosure, when the allow_duplicate_key: false parsing option is used to parse user supplied documents. This issue has been patched in versions 2.15.2.1, 2.17.1.2, and 2.19.2.
- Опубликовано
- 20 мар. 2026 г.
- Обновлено
- 21 авг. 2026 г.
- EPSS
- 1,0 % · 62-й процентиль
- CWE
- CWE-134
Войдите, чтобы следить · Вы получите уведомление, если запись попадёт в KEV, получит эксплойт или обновится.
Инструменты для отчёта
Оценка срочности
33
Наблюдать
Пока низкий приоритет.
- CVSS
- 33 / 40 · 8.3 / 10
- CISA KEV
- 0 / 30 · Нет в списке
- EPSS
- 0 / 30 · 1,0 %
Решение CISA SSVC
- Эксплуатация
- нет
- Автоматизируемо
- нет
- Техническое влияние
- частичное
Vulnrichment: входные данные дерева решений CISA.
Оценка CNA и NVD
- NVD
- —
- CNA · GitHub_M
- 8,3
- NVD ещё не выставил свою оценку; показана оценка CNA.
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:H/SC:N/SI:N/SA:N
Оценка присваивающего органа и независимая оценка NVD. Разрыв означает, что критичность спорна.
Анализ Noroxi
Анализа Noroxi для этой записи пока нет
Мы не пишем анализ вручную для сотен тысяч уязвимостей в базе; это было бы нечестно. Для значимых уязвимостей с реальным влиянием наша команда описывает механизм, обнаружение и устранение.
Мы используем этот продукт, нужна помощьЗатронутые системы
| Вендор | Продукт | CPE |
|---|---|---|
| ruby-lang | json | cpe:2.3:a:ruby-lang:json |
Затронутые версии
Диапазоны версий NVD (для продуктов из каталога). Добавьте продукт в стек с версией, и сопоставление будет по ним.
- ruby-lang json2.14.0 и новее · до 2.15.2.1
- ruby-lang json2.16.0 и новее · до 2.17.1.2
- ruby-lang json2.18.0 и новее · до 2.19.2
Версии, заявленные вендором
Диапазоны затронутых версий, заявленные назначающей организацией (GitHub_M). Не зависят от анализа CPE в NVD и обычно опережают его.
ruby json
- >= 2.14.0, < 2.15.2.1, >= 2.16.0, < 2.17.1.2, >= 2.18.0, < 2.19.2затронута
Затронутые пакеты
Данные OSV и GitHub Advisory: экосистема, пакет и диапазон. Сопоставление SBOM использует эту таблицу.
| Экосистема | Пакет | Затронутый диапазон | Исправление |
|---|---|---|---|
| AlmaLinux:10 | ruby4.0 | до 4.0.3-34.el10_2 | 4.0.3-34.el10_2 |
| AlmaLinux:10 | ruby4.0-devel | до 4.0.3-34.el10_2 | 4.0.3-34.el10_2 |
| AlmaLinux:10 | ruby4.0-doc | до 4.0.3-34.el10_2 | 4.0.3-34.el10_2 |
| AlmaLinux:10 | ruby4.0-rubygem-mysql2 | до 0.5.7-34.el10_2 | 0.5.7-34.el10_2 |
| AlmaLinux:10 | ruby4.0-rubygem-pg | до 1.6.3-34.el10_2 | 1.6.3-34.el10_2 |
| AlmaLinux:9 | ruby | до 4.0.3-32.module_el9.8.0+251+5fdbd96b | 4.0.3-32.module_el9.8.0+251+5fdbd96b |
| AlmaLinux:9 | ruby-bundled-gems | до 4.0.3-32.module_el9.8.0+251+5fdbd96b | 4.0.3-32.module_el9.8.0+251+5fdbd96b |
| AlmaLinux:9 | ruby-default-gems | до 4.0.3-32.module_el9.8.0+251+5fdbd96b | 4.0.3-32.module_el9.8.0+251+5fdbd96b |
| AlmaLinux:9 | ruby-devel | до 4.0.3-32.module_el9.8.0+251+5fdbd96b | 4.0.3-32.module_el9.8.0+251+5fdbd96b |
| AlmaLinux:9 | ruby-doc | до 4.0.3-32.module_el9.8.0+251+5fdbd96b | 4.0.3-32.module_el9.8.0+251+5fdbd96b |
| AlmaLinux:9 | ruby-libs | до 4.0.3-32.module_el9.8.0+251+5fdbd96b | 4.0.3-32.module_el9.8.0+251+5fdbd96b |
| AlmaLinux:9 | rubygem-bigdecimal | до 4.0.1-32.module_el9.8.0+251+5fdbd96b | 4.0.1-32.module_el9.8.0+251+5fdbd96b |
| AlmaLinux:9 | rubygem-bundler | до 4.0.6-32.module_el9.8.0+251+5fdbd96b | 4.0.6-32.module_el9.8.0+251+5fdbd96b |
| AlmaLinux:9 | rubygem-io-console | до 0.8.2-32.module_el9.8.0+251+5fdbd96b | 0.8.2-32.module_el9.8.0+251+5fdbd96b |
| AlmaLinux:9 | rubygem-irb | до 1.16.0-32.module_el9.8.0+251+5fdbd96b | 1.16.0-32.module_el9.8.0+251+5fdbd96b |
| AlmaLinux:9 | rubygem-json | до 2.18.0-32.module_el9.8.0+251+5fdbd96b | 2.18.0-32.module_el9.8.0+251+5fdbd96b |
| AlmaLinux:9 | rubygem-minitest | до 6.0.0-32.module_el9.8.0+251+5fdbd96b | 6.0.0-32.module_el9.8.0+251+5fdbd96b |
| AlmaLinux:9 | rubygem-mysql2 | до 0.5.7-1.module_el9.8.0+232+50f6dd36 | 0.5.7-1.module_el9.8.0+232+50f6dd36 |
| AlmaLinux:9 | rubygem-mysql2-doc | до 0.5.7-1.module_el9.8.0+232+50f6dd36 | 0.5.7-1.module_el9.8.0+232+50f6dd36 |
| AlmaLinux:9 | rubygem-pg | до 1.6.3-1.module_el9.8.0+232+50f6dd36 | 1.6.3-1.module_el9.8.0+232+50f6dd36 |
| AlmaLinux:9 | rubygem-pg-doc | до 1.6.3-1.module_el9.8.0+232+50f6dd36 | 1.6.3-1.module_el9.8.0+232+50f6dd36 |
| AlmaLinux:9 | rubygem-power_assert | до 3.0.1-32.module_el9.8.0+251+5fdbd96b | 3.0.1-32.module_el9.8.0+251+5fdbd96b |
| AlmaLinux:9 | rubygem-psych | до 5.3.1-32.module_el9.8.0+251+5fdbd96b | 5.3.1-32.module_el9.8.0+251+5fdbd96b |
| AlmaLinux:9 | rubygem-racc | до 1.8.1-32.module_el9.8.0+251+5fdbd96b | 1.8.1-32.module_el9.8.0+251+5fdbd96b |
+91
Исправление
На какую версию обновиться
Версии с исправлением по данным вендора, реестров пакетов и Microsoft. Перед обновлением сверьтесь с бюллетенем вендора.
| Продукт / пакет | Исправленная версия | Источник |
|---|---|---|
| almalinux:ruby | 4.0.3-32.module_el9.8.0+251+5fdbd96b · AlmaLinux:9 | Реестр пакетов (OSV) |
| almalinux:ruby-bundled-gems | 4.0.3-32.module_el9.8.0+251+5fdbd96b · AlmaLinux:9 | Реестр пакетов (OSV) |
| almalinux:ruby-default-gems | 4.0.3-32.module_el9.8.0+251+5fdbd96b · AlmaLinux:9 | Реестр пакетов (OSV) |
| almalinux:ruby-devel | 4.0.3-32.module_el9.8.0+251+5fdbd96b · AlmaLinux:9 | Реестр пакетов (OSV) |
| almalinux:ruby-doc | 4.0.3-32.module_el9.8.0+251+5fdbd96b · AlmaLinux:9 | Реестр пакетов (OSV) |
| almalinux:ruby-libs | 4.0.3-32.module_el9.8.0+251+5fdbd96b · AlmaLinux:9 | Реестр пакетов (OSV) |
| almalinux:rubygem-bigdecimal | 4.0.1-32.module_el9.8.0+251+5fdbd96b · AlmaLinux:9 | Реестр пакетов (OSV) |
| almalinux:rubygem-bundler | 4.0.6-32.module_el9.8.0+251+5fdbd96b · AlmaLinux:9 | Реестр пакетов (OSV) |
| almalinux:rubygem-io-console | 0.8.2-32.module_el9.8.0+251+5fdbd96b · AlmaLinux:9 | Реестр пакетов (OSV) |
| almalinux:rubygem-irb | 1.16.0-32.module_el9.8.0+251+5fdbd96b · AlmaLinux:9 | Реестр пакетов (OSV) |
| almalinux:rubygem-json | 2.18.0-32.module_el9.8.0+251+5fdbd96b · AlmaLinux:9 | Реестр пакетов (OSV) |
| almalinux:rubygem-minitest | 6.0.0-32.module_el9.8.0+251+5fdbd96b · AlmaLinux:9 | Реестр пакетов (OSV) |
| debian:ruby-json | 2.19.2+dfsg-1 · Debian:14 | Реестр пакетов (OSV) |
| red hat:ruby | 0:4.0.3-32.module+el9.8.0+24280+122d8796 · Red Hat:enterprise_linux:9::appstream | Реестр пакетов (OSV) |
| red hat:ruby-bundled-gems | 0:4.0.3-32.module+el9.8.0+24280+122d8796 · Red Hat:enterprise_linux:9::appstream | Реестр пакетов (OSV) |
| red hat:ruby-bundled-gems-debuginfo | 0:4.0.3-32.module+el9.8.0+24280+122d8796 · Red Hat:enterprise_linux:9::appstream | Реестр пакетов (OSV) |
| red hat:ruby-debuginfo | 0:4.0.3-32.module+el9.8.0+24280+122d8796 · Red Hat:enterprise_linux:9::appstream | Реестр пакетов (OSV) |
| red hat:ruby-debugsource | 0:4.0.3-32.module+el9.8.0+24280+122d8796 · Red Hat:enterprise_linux:9::appstream | Реестр пакетов (OSV) |
| red hat:ruby-default-gems | 0:4.0.3-32.module+el9.8.0+24280+122d8796 · Red Hat:enterprise_linux:9::appstream | Реестр пакетов (OSV) |
| red hat:ruby-devel | 0:4.0.3-32.module+el9.8.0+24280+122d8796 · Red Hat:enterprise_linux:9::appstream | Реестр пакетов (OSV) |
| red hat:ruby-doc | 0:4.0.3-32.module+el9.8.0+24280+122d8796 · Red Hat:enterprise_linux:9::appstream | Реестр пакетов (OSV) |
| red hat:ruby-libs | 0:4.0.3-32.module+el9.8.0+24280+122d8796 · Red Hat:enterprise_linux:9::appstream | Реестр пакетов (OSV) |
| red hat:ruby-libs-debuginfo | 0:4.0.3-32.module+el9.8.0+24280+122d8796 · Red Hat:enterprise_linux:9::appstream | Реестр пакетов (OSV) |
| red hat:rubygem-bigdecimal | 0:4.0.1-32.module+el9.8.0+24280+122d8796 · Red Hat:enterprise_linux:9::appstream | Реестр пакетов (OSV) |
| red hat:rubygem-bigdecimal-debuginfo | 0:4.0.1-32.module+el9.8.0+24280+122d8796 · Red Hat:enterprise_linux:9::appstream | Реестр пакетов (OSV) |
| rocky linux:ruby4.0 | 0:4.0.3-34.el10_2 · Rocky Linux:10 | Реестр пакетов (OSV) |
| rocky linux:rubygem-mysql2 | 0:0.5.7-1.module+el9.8.0+40094+ce01217c · Rocky Linux:9 | Реестр пакетов (OSV) |
| rocky linux:rubygem-pg | 0:1.6.3-1.module+el9.8.0+40094+ce01217c · Rocky Linux:9 | Реестр пакетов (OSV) |
| RubyGems:json | 2.15.2.1 | Реестр пакетов (OSV) |
| RubyGems:json | 2.17.1.2 | Реестр пакетов (OSV) |
+1
Статус эксплойта
Публичный эксплойт неизвестен
Публичный эксплойт пока не обнаружен. Это не значит, что вы в безопасности, лишь что порог чуть выше.
Контекст для исследователя
Для пентестеров и исследователей: профиль атаки, расхождение оценок, хронология, коммиты исправлений, авторы, кандидаты в варианты и цепочки, охват bug bounty. Всё выводится из имеющихся данных; без кода эксплойтов.
Хронология
От публикации до сегодня: proof of concept, модуль Metasploit, CISA KEV и запись об исправлении. Даты — как сообщают источники.
Кроме публикации датированных событий нет.
Ежедневная оценка FIRST EPSS; записываются только изменения от 0,01 (ступенчатый график).
Ссылки на патчи и коммиты
Коммиты, PR и diff среди источников. Отправная точка для patch-diff и поиска вариантов; это исправления, не эксплойты.
Среди источников нет ссылок на коммит или PR.
Авторы
Все исследователиНашедшие, сообщившие и аналитики, названные в записи CNA. Нажмите имя, чтобы увидеть другие записи исследователя.
В записи CNA нет авторов.
Кандидаты в варианты
Тот же продукт, тот же класс уязвимости, в пределах 18 месяцев. Если патч не закрыл первопричину, родственная ошибка здесь.
Ночной расчёт связей ничего не нашёл.
Кандидаты в цепочки
Обход аутентификации и уязвимость, требующая привилегий, в одном продукте и близко по времени: вместе они могут дать путь без аутентификации.
—
Охват bug bounty
Вендор продукта присутствует в публичной программе. Сопоставление по имени; проверьте текст scope в программе.
Технические детали
Условия атаки
- Может быть вызвана любым, у кого есть доступ через интернет.
- Учётная запись или пароль не требуются.
- Действия пользователя не требуются.
- Особые условия не требуются; воспроизводится стабильно.
В случае успеха
- Конфиденциальность
- Целостность
- Доступность
- Вектор атаки
- Сеть
- Сложность атаки
- Низкая
- Требуемые привилегии
- Не требуются
- Взаимодействие с пользователем
- Не требуется
- Область действия
- X
Класс уязвимости (CWE)
CWE-134 · Use of Externally-Controlled Format StringВектор CVSS
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/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
nvd-secondary
Контекст атаки
Шаблоны атак MITRE CAPEC и техники ATT&CK для этого класса уязвимости (CWE). Отправная точка для правил обнаружения и threat hunting.
Шаблоны атак (CAPEC)
Техники ATT&CK
—
Журнал изменений
- Исправление✗ → ✓
Для отслеживаемых записей эти изменения приходят и как уведомления. →
Источники
- github.com/ruby/json/security/advisories/GHSA-3m6g-2423-7cp3
- access.redhat.com/errata/RHSA-2026:20596
- access.redhat.com/errata/RHSA-2026:20606
- access.redhat.com/errata/RHSA-2026:57565
- access.redhat.com/security/cve/CVE-2026-33210
- bugzilla.redhat.com/show_bug.cgi?id=2449871
- security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-33210.json
Рекомендации вендоров и официальные записи. Ссылки на эксплойты/PoC намеренно исключены.