Description (CNA)
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.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| ruby / erb | affected < 4.0.3.1; affected = 4.0.4; affected >= 5.0.0, < 6.0.1.1; affected >= 6.0.2, < 6.0.4 |
CWE
CWE-693
References
ADP enrichment
No English description supplied.
No references supplied.
A flaw was found in ERB, a templating system for Ruby. An attacker who can trigger deserialization of untrusted data in a Ruby application can bypass existing protections. This vulnerability allows for arbitrary code execution by exploiting specific public methods that evaluate template source code, which were not properly guarded against deserialization attacks.
- https://access.redhat.com/security/cve/CVE-2026-41316
- https://bugzilla.redhat.com/show_bug.cgi?id=2461369
- https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-41316.json
- https://access.redhat.com/errata/RHSA-2026:33478
- https://access.redhat.com/errata/RHSA-2026:18065
- https://access.redhat.com/errata/RHSA-2026:20606
- https://access.redhat.com/errata/RHSA-2026:20614
- https://access.redhat.com/errata/RHSA-2026:20670
- https://access.redhat.com/errata/RHSA-2026:35834
- https://access.redhat.com/errata/RHSA-2026:26312
- https://access.redhat.com/errata/RHSA-2026:26655
- https://access.redhat.com/errata/RHSA-2026:33462
- https://access.redhat.com/errata/RHSA-2026:37238
- https://access.redhat.com/errata/RHSA-2026:18039
- https://access.redhat.com/errata/RHSA-2026:18030
- https://access.redhat.com/errata/RHSA-2026:20596