ERB has an @_init deserialization guard bypass via def_module / def_method / def_class
ERB is a templating system for Ruby. Ruby 2.7.0 (before ERB 2.2.0 was published on rubygems.org) introduced an `@_init` instance variable guard in `ERB#result` and `ERB#run` to prevent code execution when an ERB object is reconstructed via `Marshal.load` (deserialization). However, three other public methods that also evaluate `@src` via `eval()` were not given the same guard: `ERB#def_method`, `ERB#def_module`, and `ERB#def_class`. An attacker who can trigger `Marshal.load` on untrusted data in a Ruby application that has `erb` loaded can use `ERB#def_module` (zero-arg, default parameters) as a code execution sink, bypassing the `@_init` protection entirely. ERB 4.0.3.1, 4.0.4.1, 6.0.1.1, and 6.0.4 patch the issue.
- GHSA-q339-8rmv-2mhv
- ALSA-2026:18030
- ALSA-2026:18039
- ALSA-2026:18065
- ALSA-2026:20596
- ALSA-2026:20606
- ALSA-2026:20614
- openSUSE-SU-2026:10609-1
- openSUSE-SU-2026:21878-1
- RHSA-2026:18030
- RHSA-2026:18039
- RHSA-2026:18065
- RHSA-2026:20596
- RHSA-2026:20606
- RHSA-2026:20614
- RHSA-2026:20670
- RHSA-2026:26312
- RHSA-2026:26655
- RHSA-2026:33462
- RHSA-2026:33478
- Опубликовано
- 23 апр. 2026 г.
- Обновлено
- 24 авг. 2026 г.
- EPSS
- 1,3 % · 69-й процентиль
- CWE
- CWE-693
Войдите, чтобы следить · Вы получите уведомление, если запись попадёт в KEV, получит эксплойт или обновится.
Инструменты для отчёта
Оценка срочности
32
Наблюдать
Пока низкий приоритет.
- CVSS
- 32 / 40 · 8.1 / 10
- CISA KEV
- 0 / 30 · Нет в списке
- EPSS
- 0 / 30 · 1,3 %
Решение CISA SSVC
- Эксплуатация
- нет
- Автоматизируемо
- нет
- Техническое влияние
- полное
Vulnrichment: входные данные дерева решений CISA.
Оценка CNA и NVD
- NVD
- —
- CNA · GitHub_M
- 8,1
- NVD ещё не выставил свою оценку; показана оценка CNA.
Оценка присваивающего органа и независимая оценка NVD. Разрыв означает, что критичность спорна.
Затронутые системы
| Вендор | Продукт | CPE |
|---|---|---|
| enterprise linux | 10.1 | cpe:2.3:redhat:enterprise_linux:10.1 |
| enterprise linux | 10.2 | cpe:2.3:redhat:enterprise_linux:10.2 |
| enterprise linux eus | 10.0 | cpe:2.3:redhat:enterprise_linux_eus:10.0 |
| enterprise linux | 8 | cpe:2.3:redhat:enterprise_linux:8 |
| enterprise linux | 9 | cpe:2.3:redhat:enterprise_linux:9 |
| rhel e4s | 9.0 | cpe:2.3:redhat:rhel_e4s:9.0 |
| rhel e4s | 9.2 | cpe:2.3:redhat:rhel_e4s:9.2 |
| rhel e4s | 9.4 | cpe:2.3:redhat:rhel_e4s:9.4 |
| rhel eus | 9.6 | cpe:2.3:redhat:rhel_eus:9.6 |
| enterprise linux | 6 | cpe:2.3:redhat:enterprise_linux:6 |
| enterprise linux | 7 | cpe:2.3:redhat:enterprise_linux:7 |
| hummingbird | 1 | cpe:2.3:redhat:hummingbird:1 |
и ещё 1
Версии, заявленные вендором
Диапазоны затронутых версий, заявленные назначающей организацией (GitHub_M). Не зависят от анализа CPE в NVD и обычно опережают его.
ruby erb
- < 4.0.3.1, = 4.0.4, >= 5.0.0, < 6.0.1.1, >= 6.0.2, < 6.0.4затронута
Затронутые пакеты
Данные OSV и GitHub Advisory: экосистема, пакет и диапазон. Сопоставление SBOM использует эту таблицу.
| Экосистема | Пакет | Затронутый диапазон | Исправление |
|---|---|---|---|
| AlmaLinux:10 | ruby-default-gems | до 3.3.10-12.el10_1 | 3.3.10-12.el10_1 |
| AlmaLinux:10 | ruby-doc | до 3.3.10-12.el10_1 | 3.3.10-12.el10_1 |
| 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:10 | rubygem-bundler | до 2.5.22-12.el10_1 | 2.5.22-12.el10_1 |
| AlmaLinux:10 | rubygem-irb | до 1.13.1-12.el10_1 | 1.13.1-12.el10_1 |
| AlmaLinux:10 | rubygem-minitest | до 5.20.0-12.el10_1 | 5.20.0-12.el10_1 |
| AlmaLinux:10 | rubygem-power_assert | до 2.0.3-12.el10_1 | 2.0.3-12.el10_1 |
| AlmaLinux:10 | rubygem-rake | до 13.1.0-12.el10_1 | 13.1.0-12.el10_1 |
| AlmaLinux:10 | rubygem-rdoc | до 6.6.3.1-12.el10_1 | 6.6.3.1-12.el10_1 |
| AlmaLinux:10 | rubygem-rexml | до 3.4.4-12.el10_1 | 3.4.4-12.el10_1 |
| AlmaLinux:10 | rubygem-rss | до 0.3.1-12.el10_1 | 0.3.1-12.el10_1 |
| AlmaLinux:10 | rubygem-test-unit | до 3.6.1-12.el10_1 | 3.6.1-12.el10_1 |
| AlmaLinux:10 | rubygem-typeprof | до 0.21.9-12.el10_1 | 0.21.9-12.el10_1 |
| AlmaLinux:10 | rubygems | до 3.5.22-12.el10_1 | 3.5.22-12.el10_1 |
| AlmaLinux:10 | rubygems-devel | до 3.5.22-12.el10_1 | 3.5.22-12.el10_1 |
| AlmaLinux:8 | ruby | до 3.3.10-6.module_el8.10.0+4183+69a3c42f | 3.3.10-6.module_el8.10.0+4183+69a3c42f |
| AlmaLinux:8 | ruby-bundled-gems | до 3.3.10-6.module_el8.10.0+4183+69a3c42f | 3.3.10-6.module_el8.10.0+4183+69a3c42f |
| AlmaLinux:8 | ruby-default-gems | до 3.3.10-6.module_el8.10.0+4183+69a3c42f | 3.3.10-6.module_el8.10.0+4183+69a3c42f |
| AlmaLinux:8 | ruby-devel | до 3.3.10-6.module_el8.10.0+4183+69a3c42f | 3.3.10-6.module_el8.10.0+4183+69a3c42f |
| AlmaLinux:8 | ruby-doc | до 3.3.10-6.module_el8.10.0+4183+69a3c42f | 3.3.10-6.module_el8.10.0+4183+69a3c42f |
+96
Исправление
На какую версию обновиться
Версии с исправлением по данным вендора, реестров пакетов и Microsoft. Перед обновлением сверьтесь с бюллетенем вендора.
| Продукт / пакет | Исправленная версия | Источник |
|---|---|---|
| almalinux:ruby | 3.3.10-6.module_el9.7.0+245+447713a2 · AlmaLinux:9 | Реестр пакетов (OSV) |
| almalinux:ruby-bundled-gems | 3.3.10-6.module_el9.7.0+245+447713a2 · AlmaLinux:9 | Реестр пакетов (OSV) |
| almalinux:ruby-default-gems | 3.3.10-6.module_el9.7.0+245+447713a2 · AlmaLinux:9 | Реестр пакетов (OSV) |
| almalinux:ruby-devel | 3.3.10-6.module_el9.7.0+245+447713a2 · AlmaLinux:9 | Реестр пакетов (OSV) |
| almalinux:ruby-doc | 3.3.10-6.module_el9.7.0+245+447713a2 · AlmaLinux:9 | Реестр пакетов (OSV) |
| almalinux:ruby-libs | 3.3.10-6.module_el9.7.0+245+447713a2 · AlmaLinux:9 | Реестр пакетов (OSV) |
| almalinux:rubygem-bigdecimal | 3.1.5-6.module_el9.7.0+245+447713a2 · AlmaLinux:9 | Реестр пакетов (OSV) |
| almalinux:rubygem-bundler | 2.5.22-6.module_el9.7.0+245+447713a2 · AlmaLinux:9 | Реестр пакетов (OSV) |
| almalinux:rubygem-io-console | 0.7.1-6.module_el9.7.0+245+447713a2 · AlmaLinux:9 | Реестр пакетов (OSV) |
| almalinux:rubygem-irb | 1.13.1-6.module_el9.7.0+245+447713a2 · AlmaLinux:9 | Реестр пакетов (OSV) |
| almalinux:rubygem-json | 2.7.2-6.module_el9.7.0+245+447713a2 · AlmaLinux:9 | Реестр пакетов (OSV) |
| almalinux:rubygem-minitest | 5.20.0-6.module_el9.7.0+245+447713a2 · AlmaLinux:9 | Реестр пакетов (OSV) |
| opensuse:ruby3.4 | 3.4.10-160000.1.1 · openSUSE:Leap 16.0 | Реестр пакетов (OSV) |
| opensuse:ruby4.0 | 4.0.3-1.1 · openSUSE:Tumbleweed | Реестр пакетов (OSV) |
| red hat:ruby | 0:3.3.10-6.module+el9.7.0+24248+66578cbb · Red Hat:enterprise_linux:9::appstream | Реестр пакетов (OSV) |
| red hat:ruby-bundled-gems | 0:3.3.10-6.module+el9.7.0+24248+66578cbb · Red Hat:enterprise_linux:9::appstream | Реестр пакетов (OSV) |
| red hat:ruby-bundled-gems-debuginfo | 0:3.3.10-6.module+el9.7.0+24248+66578cbb · Red Hat:enterprise_linux:9::appstream | Реестр пакетов (OSV) |
| red hat:ruby-debuginfo | 0:3.3.10-6.module+el9.7.0+24248+66578cbb · Red Hat:enterprise_linux:9::appstream | Реестр пакетов (OSV) |
| red hat:ruby-debugsource | 0:3.3.10-6.module+el9.7.0+24248+66578cbb · Red Hat:enterprise_linux:9::appstream | Реестр пакетов (OSV) |
| red hat:ruby-default-gems | 0:3.3.10-6.module+el9.7.0+24248+66578cbb · Red Hat:enterprise_linux:9::appstream | Реестр пакетов (OSV) |
| red hat:ruby-devel | 0:3.3.10-6.module+el9.7.0+24248+66578cbb · Red Hat:enterprise_linux:9::appstream | Реестр пакетов (OSV) |
| red hat:ruby-doc | 0:3.3.10-6.module+el9.7.0+24248+66578cbb · Red Hat:enterprise_linux:9::appstream | Реестр пакетов (OSV) |
| red hat:ruby-libs | 0:3.3.10-6.module+el9.7.0+24248+66578cbb · Red Hat:enterprise_linux:9::appstream | Реестр пакетов (OSV) |
| red hat:ruby-libs-debuginfo | 0:3.3.10-6.module+el9.7.0+24248+66578cbb · Red Hat:enterprise_linux:9::appstream | Реестр пакетов (OSV) |
| red hat:rubygem-bigdecimal | 0:3.1.5-6.module+el9.7.0+24248+66578cbb · Red Hat:enterprise_linux:9::appstream | Реестр пакетов (OSV) |
| red hat:rubygem-bigdecimal-debuginfo | 0:3.1.5-6.module+el9.7.0+24248+66578cbb · Red Hat:enterprise_linux:9::appstream | Реестр пакетов (OSV) |
| rocky linux:ruby | 0:3.0.7-166.el9_7 · Rocky Linux:9 | Реестр пакетов (OSV) |
| rocky linux:ruby4.0 | 0:4.0.3-34.el10_2 · Rocky Linux:10 | Реестр пакетов (OSV) |
| rocky linux:rubygem-abrt | 0:0.4.0-1.module+el8.10.0+1679+61871737 · Rocky Linux:8 | Реестр пакетов (OSV) |
| rocky linux:rubygem-mysql2 | 0:0.5.5-3.module+el9.7.0+40032+36e56d0d · Rocky Linux:9 | Реестр пакетов (OSV) |
+6
Статус эксплойта
Публичный эксплойт неизвестен
Публичный эксплойт пока не обнаружен. Это не значит, что вы в безопасности, лишь что порог чуть выше.
Контекст для исследователя
Для пентестеров и исследователей: профиль атаки, расхождение оценок, хронология, коммиты исправлений, авторы, кандидаты в варианты и цепочки, охват 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-693 · Protection Mechanism FailureВектор CVSS
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
nvd-secondary
Контекст атаки
Шаблоны атак MITRE CAPEC и техники ATT&CK для этого класса уязвимости (CWE). Отправная точка для правил обнаружения и threat hunting.
Шаблоны атак (CAPEC)
- Accessing Functionality Not Properly Constrained by ACLsCAPEC-1вероятность: High · High
- Cross Site TracingCAPEC-107вероятность: Medium · Very High
- Directory IndexingCAPEC-127вероятность: High · Medium
- Using Malicious FilesCAPEC-17вероятность: High · Very High
- Encryption Brute ForcingCAPEC-20вероятность: Low · Low
- Exploiting Trust in ClientCAPEC-22вероятность: High · High
- Escaping a Sandbox by Calling Code in Another LanguageCAPEC-237вероятность: Low · Very High
- Using Unpublished Interfaces or FunctionalityCAPEC-36вероятность: Medium · High
Журнал изменений
- Исправление✗ → ✓
Для отслеживаемых записей эти изменения приходят и как уведомления. →
Источники
- github.com/ruby/erb/security/advisories/GHSA-q339-8rmv-2mhv
- access.redhat.com/errata/RHSA-2026:18030
- access.redhat.com/errata/RHSA-2026:18039
- access.redhat.com/errata/RHSA-2026:18065
- access.redhat.com/errata/RHSA-2026:20596
- access.redhat.com/errata/RHSA-2026:20606
- access.redhat.com/errata/RHSA-2026:20614
- access.redhat.com/errata/RHSA-2026:20670
- access.redhat.com/errata/RHSA-2026:26312
- access.redhat.com/errata/RHSA-2026:26655
- access.redhat.com/errata/RHSA-2026:33462
- access.redhat.com/errata/RHSA-2026:33478
- access.redhat.com/errata/RHSA-2026:35834
- access.redhat.com/errata/RHSA-2026:37238
- access.redhat.com/security/cve/CVE-2026-41316
- bugzilla.redhat.com/show_bug.cgi?id=2461369
- security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-41316.json
Рекомендации вендоров и официальные записи. Ссылки на эксплойты/PoC намеренно исключены.