Answer in brief
CVE-2026-41316 records a High severity (CVSS 8.1) vulnerability in ERB has an @_init deserialization guard bypass via def_module / def_method / def_class. The current sources do not mark it as known exploited. The current feed maps ruby/erb (generic), erb (rubygems), erb (rubygems), erb (rubygems) and additional mapped packages. Check affected ranges and fixed versions before updating.
Analysis pending evidence review
HOL Guard separates source facts from reviewed analysis. See the methodology.
CVSS is 8.1. The current sources do not mark it as known exploited. Treat this as a source-backed prioritization signal, not a statement about your environment.
Analysis status
Analysis pending evidence review
Factual feed record only; HOL analysis is not approved for indexing. Read the methodology.
The current feed maps ruby/erb (generic), erb (rubygems), erb (rubygems), erb (rubygems) and additional mapped packages. Check affected ranges and fixed versions before updating.
| Package | Affected range | Fixed version |
|---|---|---|
| ruby/erbgeneric | < 4.0.3.1 || = 4.0.4 || >= 5.0.0, < 6.0.1.1 || >= 6.0.2, < 6.0.4 | Not reported |
| erbrubygems | <4.0.3.1 | 4.0.3.1 |
| erbrubygems | =4.0.4 | 4.0.4.1 |
| erbrubygems | >=5.0.0,<6.0.1.1 | 6.0.1.1 |
| erbrubygems | >=6.0.2,<6.0.4 | 6.0.4 |
| erbrubygems | >=0 <4.0.3.1 | 4.0.3.1 |
| erbrubygems | >=4.0.4 <4.0.4.1 | 4.0.4.1 |
| erbrubygems | >=5.0.0 <6.0.1.1 | 6.0.1.1 |
| erbrubygems | >=6.0.2 <6.0.4 | 6.0.4 |
Published upstream
Apr 24, 2026
Evidence: source:cvelist:source_dates:source-dates:recordSource modified
Sep 10, 2026
Evidence: source:cvelist:source_dates:source-dates:recordFirst seen by HOL
Jun 11, 2026
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.
Quoted source text, attributed separately from HOL analysis.