CVE-2026-41316
Vulnerability Summary
Timeline
Description
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.
CVSS Metrics
- v3.1•HIGH•Score: 8.1CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
EPSS Trends
Current EPSS score: 1.13%• Percentile: 65%
Techniques & Countermeasures
- CWE-693•Protection Mechanism Failure
The product does not use or incorrectly uses a protection mechanism that provides sufficient defense against directed attacks against the product.
- CWE-502•Deserialization of Untrusted Data
The product deserializes untrusted data without sufficiently ensuring that the resulting data will be valid.
Affected Systems
- chainguard•jruby-10.1
< 10.1.1.0-r0
- chainguard•jruby-9.4
< 9.4.15.0-r0
- chainguard•logstash-8.19
< 8.19.19-r0
- chainguard•logstash-8.19-iamguarded-compat
< 8.19.19-r0
- chainguard•logstash-8.19-with-output-opensearch
< 8.19.19-r0
- chainguard•logstash-9.0
all
- chainguard•logstash-9.0-iamguarded-compat
all
- chainguard•logstash-9.0-with-output-opensearch
all
- chainguard•logstash-9.1
all
- chainguard•logstash-9.1-bitnami-compat
all
- chainguard•logstash-9.1-iamguarded-compat
all
- chainguard•logstash-9.1-with-output-opensearch
all
- chainguard•logstash-9.2
all
- chainguard•logstash-9.2-iamguarded-compat
all
- chainguard•logstash-9.2-with-output-opensearch
all
- chainguard•logstash-9.3
< 9.3.4-r2
- chainguard•logstash-9.3-iamguarded-compat
< 9.3.4-r2
- chainguard•logstash-9.3-with-output-opensearch
all
- chainguard•logstash-fips-9.3
< 9.3.4-r0
- chainguard•logstash-fips-9.3-iamguarded-compat
< 9.3.4-r0
- chainguard•ruby-3.2
all
- chainguard•ruby-3.3
< 3.3.12-r0
- chainguard•ruby-3.4
< 3.4.10-r0
- chainguard•ruby-4.0
< 4.0.3-r0
- chainguard•ruby3.2-rails-7.2
< 7.2.3.1-r2
- chainguard•ruby3.2-rails-8.0
< 8.0.5-r1
- chainguard•ruby3.2-rails-8.1
< 8.1.3-r3
- chainguard•ruby3.3-rails-7.2
< 7.2.3.1-r3
- chainguard•ruby3.3-rails-8.0
< 8.0.5-r2
- chainguard•ruby3.3-rails-8.1
< 8.1.3-r4
- chainguard•ruby3.4-rails-7.2
< 7.2.3.1-r3
- chainguard•ruby3.4-rails-8.0
< 8.0.5-r2
- chainguard•ruby3.4-rails-8.1
< 8.1.3-r3
- chainguard•ruby4.0-rails-7.2
< 7.2.3.1-r3
- chainguard•ruby4.0-rails-8.0
< 8.0.5-r2
- chainguard•ruby4.0-rails-8.1
< 8.1.3-r4
- chainguard•truffleruby
< 34.0.1-r2
- wolfi•jruby-10.1
< 10.1.1.0-r0
- wolfi•jruby-9.4
< 9.4.15.0-r0
- wolfi•logstash-9.3
< 9.3.4-r2
- wolfi•logstash-9.3-iamguarded-compat
< 9.3.4-r2
- wolfi•logstash-9.3-with-output-opensearch
all
- wolfi•ruby-3.2
all
- wolfi•ruby-3.3
< 3.3.12-r0
- wolfi•ruby-3.4
< 3.4.10-r0
- wolfi•ruby-4.0
< 4.0.3-r0
- wolfi•ruby3.2-rails-8.1
< 8.1.3-r3
- wolfi•ruby3.3-rails-8.1
< 8.1.3-r4
- wolfi•ruby3.4-rails-8.1
< 8.1.3-r3
- wolfi•ruby4.0-rails-8.1
< 8.1.3-r4
Showing first 50 affected entries in server-rendered view.
References (33)
- https://github.com/ruby/erb/security/advisories/GHSA-q339-8rmv-2mhv
- 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: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:26312
- https://access.redhat.com/errata/RHSA-2026:26655
- https://access.redhat.com/errata/RHSA-2026:18039
- https://access.redhat.com/errata/RHSA-2026:18030
- https://access.redhat.com/errata/RHSA-2026:20596
- https://access.redhat.com/errata/RHSA-2026:33478
- https://access.redhat.com/errata/RHSA-2026:33462
- https://access.redhat.com/errata/RHSA-2026:35834
- https://access.redhat.com/errata/RHSA-2026:37238
- https://www.suse.com/support/update/announcement/2026/suse-su-20263556-1/
- https://bugzilla.suse.com/1262441
- https://www.suse.com/security/cve/CVE-2026-41316
- https://access.redhat.com/security/updates/classification/#important
- https://security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_18030.json
- https://www.cve.org/CVERecord?id=CVE-2026-41316
- https://nvd.nist.gov/vuln/detail/CVE-2026-41316
- https://security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_18039.json
- https://security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_18065.json
- https://security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_20614.json
- https://security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_20670.json
- https://security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_26312.json
- https://security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_26655.json
- https://security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_33478.json
- https://security-tracker.debian.org/tracker/CVE-2026-41316
- https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/41xxx/CVE-2026-41316.json