RubyGems version 2.6.12 and earlier fails to validate specification names, allowing a maliciously crafted gem to potentially overwrite any f
RubyGems version 2.6.12 and earlier fails to validate specification names, allowing a maliciously crafted gem to potentially overwrite any file on the filesystem.
- Опубликовано
- 31 авг. 2017 г.
- Обновлено
- 16 июн. 2026 г.
- EPSS
- 28,7 % · 98-й процентиль
- CWE
- CWE-22
Войдите, чтобы следить · Вы получите уведомление, если запись попадёт в KEV, получит эксплойт или обновится.
Инструменты для отчёта
Оценка срочности
39
Наблюдать
Пока низкий приоритет.
- CVSS
- 30 / 40 · 7.5 / 10
- CISA KEV
- 0 / 30 · Нет в списке
- EPSS
- 9 / 30 · 28,7 %
Затронутые системы
| Вендор | Продукт | CPE |
|---|---|---|
| rubygems | rubygems | cpe:2.3:a:rubygems:rubygems |
| debian | debian linux | cpe:2.3:o:debian:debian_linux |
| canonical | ubuntu linux | cpe:2.3:o:canonical:ubuntu_linux |
| redhat | enterprise linux desktop | cpe:2.3:o:redhat:enterprise_linux_desktop |
| redhat | enterprise linux server | cpe:2.3:o:redhat:enterprise_linux_server |
| redhat | enterprise linux server aus | cpe:2.3:o:redhat:enterprise_linux_server_aus |
| redhat | enterprise linux server eus | cpe:2.3:o:redhat:enterprise_linux_server_eus |
| redhat | enterprise linux server tus | cpe:2.3:o:redhat:enterprise_linux_server_tus |
| redhat | enterprise linux workstation | cpe:2.3:o:redhat:enterprise_linux_workstation |
Затронутые версии
Диапазоны версий NVD (для продуктов из каталога). Добавьте продукт в стек с версией, и сопоставление будет по ним.
- canonical ubuntu linux14.04
- canonical ubuntu linux16.04
- canonical ubuntu linux17.10
- debian debian linux8.0
- debian debian linux9.0
- redhat enterprise linux desktop7.0
- redhat enterprise linux server7.0
- redhat enterprise linux server aus7.4
- redhat enterprise linux server aus7.6
- redhat enterprise linux server eus7.4
- redhat enterprise linux server eus7.5
- redhat enterprise linux server eus7.6
- redhat enterprise linux server tus7.4
- redhat enterprise linux server tus7.6
- redhat enterprise linux workstation7.0
- rubygems rubygemsдо 2.6.12 включительно
Версии, заявленные вендором
Диапазоны затронутых версий, заявленные назначающей организацией (hackerone). Не зависят от анализа CPE в NVD и обычно опережают его.
HackerOne RubyGems
- Versions before 2.6.13затронута
Затронутые пакеты
Данные 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:12 | rubygems | до 3.2.0~rc.1-1 | 3.2.0~rc.1-1 |
| Debian:7 | ruby1.9.1 | до 1.9.3.194-8.1+deb7u6 | 1.9.3.194-8.1+deb7u6 |
| Debian:7 | rubygems | до 1.8.24-1+deb7u1 | 1.8.24-1+deb7u1 |
| Debian:8 | ruby2.1 | до 2.1.5-2+deb8u4 | 2.1.5-2+deb8u4 |
| Debian:9 | ruby2.3 | до 2.3.3-1+deb9u1 | 2.3.3-1+deb9u1 |
| 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 |
+96
Тот же продукт
rubygems: все записиДругие записи с наивысшей оценкой для того же основного продукта.
- CVE-2017-0903RubyGems versions between 2.0.0 and 2.6.13 are vulnerable to a possible remote code execution vulnerability.44В плане
- CVE-2017-0899RubyGems version 2.6.12 and earlier is vulnerable to maliciously crafted gem specifications that include terminal escape characters.42В плане
- CVE-2018-1000076RubyGems version Ruby 2.2 series: 2.2.9 and earlier, Ruby 2.3 series: 2.3.6 and earlier, Ruby 2.4 series: 2.4.3 and earlier, Ruby 2.5 series40В плане
- CVE-2019-8324An issue was discovered in RubyGems 2.6 and later through 3.0.2.36Наблюдать
- CVE-2022-36073RubyGems allows creation of users with arbitrary unverified emails35Наблюдать
- CVE-2017-0902RubyGems version 2.6.12 and earlier is vulnerable to a DNS hijacking vulnerability that allows a MITM attacker to force the RubyGems client 33Наблюдать
Исправление
На какую версию обновиться
Версии с исправлением по данным вендора, реестров пакетов и Microsoft. Перед обновлением сверьтесь с бюллетенем вендора.
| Продукт / пакет | Исправленная версия | Источник |
|---|---|---|
| Alpine:ruby | 2.4.2-r0 · Alpine:v3.10 | Реестр пакетов (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+deb9u1 · Debian:9 | Реестр пакетов (OSV) |
| Debian:rubygems | 3.2.0~rc.1-1 · Debian:12 | Реестр пакетов (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) |
| RubyGems:rubygems-update | 2.6.13 | Реестр пакетов (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) |
Статус эксплойта
Есть proof of concept
Существует публичный PoC или сигнатура обнаружения. Знание об эксплойте доступно; не откладывайте установку исправлений.
Доказательство
- Запись Exploit-DB ×1
Noroxi не размещает код эксплойтов и не даёт на них ссылок. Показываются имена модулей Metasploit и идентификаторы шаблонов Nuclei (имена, не код); записи Exploit-DB и репозитории PoC даются только числом.
| Источник | Тип | Дата |
|---|---|---|
| Запись Exploit-DB | local | 2017-09-04 |
Контекст для исследователя
Для пентестеров и исследователей: профиль атаки, расхождение оценок, хронология, коммиты исправлений, авторы, кандидаты в варианты и цепочки, охват bug bounty. Всё выводится из имеющихся данных; без кода эксплойтов.
Хронология
От публикации до сегодня: proof of concept, модуль Metasploit, CISA KEV и запись об исправлении. Даты — как сообщают источники.
- Публикация
- Первый PoC+3 дн.
- Сегодня30 сент. 2026 г.+3316 дн.
Ежедневная оценка FIRST EPSS; записываются только изменения от 0,01 (ступенчатый график).
Ссылки на патчи и коммиты
Коммиты, PR и diff среди источников. Отправная точка для patch-diff и поиска вариантов; это исправления, не эксплойты.
Авторы
Все исследователиНашедшие, сообщившие и аналитики, названные в записи CNA. Нажмите имя, чтобы увидеть другие записи исследователя.
В записи CNA нет авторов.
Кандидаты в варианты
Тот же продукт, тот же класс уязвимости, в пределах 18 месяцев. Если патч не закрыл первопричину, родственная ошибка здесь.
Ночной расчёт связей ничего не нашёл.
Кандидаты в цепочки
Обход аутентификации и уязвимость, требующая привилегий, в одном продукте и близко по времени: вместе они могут дать путь без аутентификации.
—
Охват bug bounty
- RubyGemsHackerOne · только раскрытие (VDP) · rubygems/rubygems
- RubyGemsHackerOne · только раскрытие (VDP)
Вендор продукта присутствует в публичной программе. Сопоставление по имени; проверьте текст scope в программе.
Технические детали
Условия атаки
- Может быть вызвана любым, у кого есть доступ через интернет.
- Учётная запись или пароль не требуются.
- Действия пользователя не требуются.
- Особые условия не требуются; воспроизводится стабильно.
В случае успеха
- Конфиденциальность
- нет
- Целостность
- высокое · данные или конфигурация могут быть изменены
- Доступность
- нет
- Вектор атаки
- Сеть
- Сложность атаки
- Низкая
- Требуемые привилегии
- Не требуются
- Взаимодействие с пользователем
- Не требуется
- Область действия
- Не изменяется
- Влияние на конфиденциальность
- Нет
- Влияние на целостность
- Высокое
- Влияние на доступность
- Нет
Класс уязвимости (CWE)
CWE-22 · Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')Вектор CVSS
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
nvd-primary
Первопричина
Имя файла, переданное пользователем, объединяется с разрешённым каталогом, но не проверяется, остаётся ли результат внутри этого каталога.
Ошибка в коде
Весь класс CWE-22Показательный пример этого класса уязвимостей. Это не исходный код вендора; показан ошибочный шаблон и его исправление.
Уязвимый код
const file = path.join(ROOT, req.query.name);res.sendFile(file);Исправленный код
const file = path.resolve(ROOT, req.query.name);if (!file.startsWith(ROOT + path.sep)) { return res.sendStatus(400);}res.sendFile(file);Контекст атаки
Шаблоны атак MITRE CAPEC и техники ATT&CK для этого класса уязвимости (CWE). Отправная точка для правил обнаружения и threat hunting.
Шаблоны атак (CAPEC)
- Path TraversalCAPEC-126вероятность: High · Very High
- Using Slashes and URL Encoding Combined to Bypass Validation LogicCAPEC-64вероятность: High · High
- Manipulating Web Input to File System CallsCAPEC-76вероятность: High · Very High
- Using Escaped Slashes in Alternate EncodingCAPEC-78вероятность: High · High
- Using Slashes in Alternate EncodingCAPEC-79вероятность: High · High
Техники ATT&CK
—
Анализ Noroxi
Анализа Noroxi для этой записи пока нет
Мы не пишем анализ вручную для всех 385 000+ уязвимостей; это было бы нечестно. Для значимых уязвимостей с реальным влиянием наша команда описывает механизм, обнаружение и устранение.
Мы используем этот продукт, нужна помощьЖурнал изменений
- Исправление✗ → ✓
Для отслеживаемых записей эти изменения приходят и как уведомления. →
Источники
- blog.rubygems.org/2017/08/27/2.6.13-released.html
- www.securityfocus.com/bid/100580
- www.securitytracker.com/id/1039249
- 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
- github.com/rubygems/rubygems/commit/ad5c0a53a86ca5b218c7976765c0365b91d22cb2
- lists.debian.org/debian-lts-announce/2018/07/msg00012.html
- security.gentoo.org/glsa/201710-01
- usn.ubuntu.com/3553-1/
- usn.ubuntu.com/3685-1/
- www.debian.org/security/2017/dsa-3966
Рекомендации вендоров и официальные записи. Ссылки на эксплойты/PoC намеренно исключены.