Deserialization of Untrusted Data Affecting ruby-irb package, versions <0:2.0.0.648-36.amzn2.0.18


Severity

Recommended
0.0
high
0
10

Based on Amazon Linux security rating.

Threat Intelligence

EPSS
0.51% (40th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications

Snyk Learn

Learn about Deserialization of Untrusted Data vulnerabilities in an interactive lesson.

Start learning
  • Snyk IDSNYK-AMZN2-RUBYIRB-16708492
  • published16 May 2026
  • disclosed24 Apr 2026

Introduced: 24 Apr 2026

CVE-2026-41316  (opens in a new tab)
CWE-502  (opens in a new tab)

How to fix?

Upgrade Amazon-Linux:2 ruby-irb to version 0:2.0.0.648-36.amzn2.0.18 or higher.
This issue was patched in ALAS2-2026-3284.

NVD Description

Note: Versions mentioned in the description apply only to the upstream ruby-irb package and not the ruby-irb package as distributed by Amazon-Linux. See How to fix? for Amazon-Linux:2 relevant fixed versions and status.

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 Base Scores

version 3.1