Ruby before 2.4.2, 2.3.5, and 2.2.8 is vulnerable to a malicious format string which contains a precious specifier (*) with a huge minus val
Ruby before 2.4.2, 2.3.5, and 2.2.8 is vulnerable to a malicious format string which contains a precious specifier (*) with a huge minus value. Such situation can lead to a buffer overrun, resulting in a heap memory corruption or an information disclosure from the heap.
- Опубликовано
- 15 сент. 2017 г.
- Обновлено
- 16 июн. 2026 г.
- EPSS
- 9,7 % · 95-й процентиль
- CWE
- CWE-134
Войдите, чтобы следить · Вы получите уведомление, если запись попадёт в KEV, получит эксплойт или обновится.
Инструменты для отчёта
Оценка срочности
39
Наблюдать
Пока низкий приоритет.
- CVSS
- 36 / 40 · 9.1 / 10
- CISA KEV
- 0 / 30 · Нет в списке
- EPSS
- 3 / 30 · 9,7 %
Затронутые системы
| Вендор | Продукт | CPE |
|---|---|---|
| ruby-lang | ruby | cpe:2.3:a:ruby-lang:ruby |
Затронутые версии
Диапазоны версий NVD (для продуктов из каталога). Добавьте продукт в стек с версией, и сопоставление будет по ним.
- ruby-lang ruby2.2.0
- ruby-lang ruby2.2.1
- ruby-lang ruby2.2.2
- ruby-lang ruby2.2.3
- ruby-lang ruby2.2.4
- ruby-lang ruby2.2.5
- ruby-lang ruby2.2.6
- ruby-lang ruby2.2.7
- ruby-lang ruby2.3.0
- ruby-lang ruby2.3.1
- ruby-lang ruby2.3.2
- ruby-lang ruby2.3.3
- ruby-lang ruby2.3.4
- ruby-lang ruby2.4.0
- ruby-lang ruby2.4.1
Версии, заявленные вендором
Диапазоны затронутых версий, заявленные назначающей организацией (hackerone). Не зависят от анализа CPE в NVD и обычно опережают его.
HackerOne Ruby
- Versions before 2.4.2, 2.3.5, and 2.2.8затронута
Затронутые пакеты
Данные OSV и GitHub Advisory: экосистема, пакет и диапазон. Сопоставление SBOM использует эту таблицу.
| Экосистема | Пакет | Затронутый диапазон | Исправление |
|---|---|---|---|
| Alpine:v3.10 | ruby | до 2.4.2-r0 | 2.4.2-r0 |
| Alpine:v3.3 | ruby | до 2.2.8-r0 | 2.2.8-r0 |
| Alpine:v3.4 | ruby | до 2.3.5-r0 | 2.3.5-r0 |
| Debian:7 | ruby1.8 | до 1.8.7.358-7.1+deb7u4 | 1.8.7.358-7.1+deb7u4 |
| Debian:7 | ruby1.9.1 | до 1.9.3.194-8.1+deb7u6 | 1.9.3.194-8.1+deb7u6 |
| Debian:8 | ruby2.1 | до 2.1.5-2+deb8u4 | 2.1.5-2+deb8u4 |
| Debian:9 | ruby2.3 | до 2.3.3-1+deb9u2 | 2.3.3-1+deb9u2 |
| Red Hat:enterprise_linux:7::client | ruby | до 0:2.0.0.648-33.el7_4 | 0:2.0.0.648-33.el7_4 |
| Red Hat:enterprise_linux:7::client | ruby-debuginfo | до 0:2.0.0.648-33.el7_4 | 0:2.0.0.648-33.el7_4 |
| Red Hat:enterprise_linux:7::client | ruby-devel | до 0:2.0.0.648-33.el7_4 | 0:2.0.0.648-33.el7_4 |
| Red Hat:enterprise_linux:7::client | ruby-doc | до 0:2.0.0.648-33.el7_4 | 0:2.0.0.648-33.el7_4 |
| Red Hat:enterprise_linux:7::client | ruby-irb | до 0:2.0.0.648-33.el7_4 | 0:2.0.0.648-33.el7_4 |
| Red Hat:enterprise_linux:7::client | ruby-libs | до 0:2.0.0.648-33.el7_4 | 0:2.0.0.648-33.el7_4 |
| Red Hat:enterprise_linux:7::client | ruby-tcltk | до 0:2.0.0.648-33.el7_4 | 0:2.0.0.648-33.el7_4 |
| Red Hat:enterprise_linux:7::client | rubygem-bigdecimal | до 0:1.2.0-33.el7_4 | 0:1.2.0-33.el7_4 |
| Red Hat:enterprise_linux:7::client | rubygem-io-console | до 0:0.4.2-33.el7_4 | 0:0.4.2-33.el7_4 |
| Red Hat:enterprise_linux:7::client | rubygem-json | до 0:1.7.7-33.el7_4 | 0:1.7.7-33.el7_4 |
| Red Hat:enterprise_linux:7::client | rubygem-minitest | до 0:4.3.2-33.el7_4 | 0:4.3.2-33.el7_4 |
| Red Hat:enterprise_linux:7::client | rubygem-psych | до 0:2.0.0-33.el7_4 | 0:2.0.0-33.el7_4 |
| Red Hat:enterprise_linux:7::client | rubygem-rake | до 0:0.9.6-33.el7_4 | 0:0.9.6-33.el7_4 |
| Red Hat:enterprise_linux:7::client | rubygem-rdoc | до 0:4.0.0-33.el7_4 | 0:4.0.0-33.el7_4 |
| Red Hat:enterprise_linux:7::client | rubygems | до 0:2.0.14.1-33.el7_4 | 0:2.0.14.1-33.el7_4 |
| Red Hat:enterprise_linux:7::client | rubygems-devel | до 0:2.0.14.1-33.el7_4 | 0:2.0.14.1-33.el7_4 |
| Red Hat:rhel_software_collections:3::el6 | rh-ruby22-ruby | до 0:2.2.9-19.el6 | 0:2.2.9-19.el6 |
+96
Тот же продукт
ruby-lang: все записиДругие записи с наивысшей оценкой для того же основного продукта.
- CVE-2017-17405Ruby before 2.4.3 allows Net::FTP command injection.57В плане
- CVE-2008-3656Algorithmic complexity vulnerability in the WEBrick::HTTPUtils.split_header_value function in WEBrick::HTTP::DefaultFileHandler in WEBrick i52В плане
- CVE-2021-28966In Ruby through 3.0 on Windows, a remote attacker can submit a crafted path when a Web application handles a parameter with TmpDir.47В плане
- CVE-2017-14064Ruby through 2.2.7, 2.3.x through 2.3.4, and 2.4.x through 2.4.1 can expose arbitrary memory during a JSON.generate call.42В плане
- CVE-2017-17790The lazy_initialize function in lib/resolv.rb in Ruby through 2.4.3 uses Kernel#open, which might allow Command Injection attacks, as demons41В плане
- CVE-2016-2339An exploitable heap overflow vulnerability exists in the Fiddle::Function.new "initialize" function functionality of Ruby.41В плане
Исправление
На какую версию обновиться
Версии с исправлением по данным вендора, реестров пакетов и Microsoft. Перед обновлением сверьтесь с бюллетенем вендора.
| Продукт / пакет | Исправленная версия | Источник |
|---|---|---|
| alpine:ruby | 2.4.2-r0 · Alpine:v3.10 | Реестр пакетов (OSV) |
| debian:ruby1.8 | 1.8.7.358-7.1+deb7u4 · Debian:7 | Реестр пакетов (OSV) |
| debian:ruby1.9.1 | 1.9.3.194-8.1+deb7u6 · Debian:7 | Реестр пакетов (OSV) |
| debian:ruby2.1 | 2.1.5-2+deb8u4 · Debian:8 | Реестр пакетов (OSV) |
| debian:ruby2.3 | 2.3.3-1+deb9u2 · Debian:9 | Реестр пакетов (OSV) |
| red hat:rh-ruby24-ruby | 0:2.4.2-86.el6 · Red Hat:rhel_software_collections:3::el6 | Реестр пакетов (OSV) |
| red hat:rh-ruby24-ruby-debuginfo | 0:2.4.2-86.el6 · Red Hat:rhel_software_collections:3::el6 | Реестр пакетов (OSV) |
| red hat:rh-ruby24-ruby-devel | 0:2.4.2-86.el6 · Red Hat:rhel_software_collections:3::el6 | Реестр пакетов (OSV) |
| red hat:rh-ruby24-ruby-doc | 0:2.4.2-86.el6 · Red Hat:rhel_software_collections:3::el6 | Реестр пакетов (OSV) |
| red hat:rh-ruby24-ruby-irb | 0:2.4.2-86.el6 · Red Hat:rhel_software_collections:3::el6 | Реестр пакетов (OSV) |
| red hat:rh-ruby24-ruby-libs | 0:2.4.2-86.el6 · Red Hat:rhel_software_collections:3::el6 | Реестр пакетов (OSV) |
| red hat:rh-ruby24-rubygem-bigdecimal | 0:1.3.0-86.el6 · Red Hat:rhel_software_collections:3::el6 | Реестр пакетов (OSV) |
| red hat:rh-ruby24-rubygem-did_you_mean | 0:1.1.0-86.el6 · Red Hat:rhel_software_collections:3::el6 | Реестр пакетов (OSV) |
| red hat:rh-ruby24-rubygem-io-console | 0:0.4.6-86.el6 · Red Hat:rhel_software_collections:3::el6 | Реестр пакетов (OSV) |
| red hat:rh-ruby24-rubygem-json | 0:2.0.4-86.el6 · Red Hat:rhel_software_collections:3::el6 | Реестр пакетов (OSV) |
| red hat:rh-ruby24-rubygem-minitest | 0:5.10.1-86.el6 · Red Hat:rhel_software_collections:3::el6 | Реестр пакетов (OSV) |
| red hat:rh-ruby24-rubygem-net-telnet | 0:0.1.1-86.el6 · Red Hat:rhel_software_collections:3::el6 | Реестр пакетов (OSV) |
| suse:ruby2.1 | 2.1.9-19.3.2 · SUSE:HPE Helion OpenStack 8 | Реестр пакетов (OSV) |
| suse:yast2-ruby-bindings | 3.1.53-9.8.1 · SUSE:OpenStack Cloud 7 | Реестр пакетов (OSV) |
Статус эксплойта
Публичный эксплойт неизвестен
Публичный эксплойт пока не обнаружен. Это не значит, что вы в безопасности, лишь что порог чуть выше.
Контекст для исследователя
Для пентестеров и исследователей: профиль атаки, расхождение оценок, хронология, коммиты исправлений, авторы, кандидаты в варианты и цепочки, охват bug bounty. Всё выводится из имеющихся данных; без кода эксплойтов.
Хронология
От публикации до сегодня: proof of concept, модуль Metasploit, CISA KEV и запись об исправлении. Даты — как сообщают источники.
Кроме публикации датированных событий нет.
Ежедневная оценка FIRST EPSS; записываются только изменения от 0,01 (ступенчатый график).
Ссылки на патчи и коммиты
Коммиты, PR и diff среди источников. Отправная точка для patch-diff и поиска вариантов; это исправления, не эксплойты.
Среди источников нет ссылок на коммит или PR.
Авторы
Все исследователиНашедшие, сообщившие и аналитики, названные в записи CNA. Нажмите имя, чтобы увидеть другие записи исследователя.
В записи CNA нет авторов.
Кандидаты в варианты
Тот же продукт, тот же класс уязвимости, в пределах 18 месяцев. Если патч не закрыл первопричину, родственная ошибка здесь.
Ночной расчёт связей ничего не нашёл.
Кандидаты в цепочки
Обход аутентификации и уязвимость, требующая привилегий, в одном продукте и близко по времени: вместе они могут дать путь без аутентификации.
—
Охват bug bounty
Вендор продукта присутствует в публичной программе. Сопоставление по имени; проверьте текст scope в программе.
Технические детали
Условия атаки
- Может быть вызвана любым, у кого есть доступ через интернет.
- Учётная запись или пароль не требуются.
- Действия пользователя не требуются.
- Особые условия не требуются; воспроизводится стабильно.
В случае успеха
- Конфиденциальность
- высокое · данные могут быть прочитаны
- Целостность
- нет
- Доступность
- высокое · работа сервиса может быть нарушена
- Вектор атаки
- Сеть
- Сложность атаки
- Низкая
- Требуемые привилегии
- Не требуются
- Взаимодействие с пользователем
- Не требуется
- Область действия
- Не изменяется
- Влияние на конфиденциальность
- Высокое
- Влияние на целостность
- Нет
- Влияние на доступность
- Высокое
Класс уязвимости (CWE)
CWE-134 · Use of Externally-Controlled Format StringВектор CVSS
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H
nvd-primary
Контекст атаки
Шаблоны атак MITRE CAPEC и техники ATT&CK для этого класса уязвимости (CWE). Отправная точка для правил обнаружения и threat hunting.
Шаблоны атак (CAPEC)
Техники ATT&CK
—
Анализ Noroxi
Анализа Noroxi для этой записи пока нет
Мы не пишем анализ вручную для всех 385 000+ уязвимостей; это было бы нечестно. Для значимых уязвимостей с реальным влиянием наша команда описывает механизм, обнаружение и устранение.
Мы используем этот продукт, нужна помощьЖурнал изменений
- Исправление✗ → ✓
Для отслеживаемых записей эти изменения приходят и как уведомления. →
Источники
- www.securityfocus.com/bid/100862
- www.securitytracker.com/id/1039363
- access.redhat.com/errata/RHSA-2017:3485
- access.redhat.com/errata/RHSA-2018:0378
- access.redhat.com/errata/RHSA-2018:0583
- access.redhat.com/errata/RHSA-2018:0585
- lists.debian.org/debian-lts-announce/2018/07/msg00012.html
- security.gentoo.org/glsa/201710-18
- usn.ubuntu.com/3685-1/
- www.debian.org/security/2017/dsa-4031
- www.ruby-lang.org/en/news/2017/09/14/sprintf-buffer-underrun-cve-2017-0898/
Рекомендации вендоров и официальные записи. Ссылки на эксплойты/PoC намеренно исключены.