{"schema_version":"1.7.2","id":"OESA-2026-2263","modified":"2026-05-09T12:33:32Z","published":"2026-05-09T12:33:32Z","upstream":["CVE-2026-41316"],"summary":"ruby security update","details":"Ruby is a fast and easy interpreted scripting language for object-oriented programming. It has many functions for processing text Files and perform system management tasks (such as Perl).\r\n\r\nSecurity Fix(es):\n\nERB 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.(CVE-2026-41316)","affected":[{"package":{"ecosystem":"openEuler:24.03-LTS-SP1","name":"ruby","purl":"pkg:rpm/openEuler/ruby&distro=openEuler-24.03-LTS-SP1"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.2.2-152.oe2403sp1"}]}],"ecosystem_specific":{"aarch64":["ruby-3.2.2-152.oe2403sp1.aarch64.rpm","ruby-bundled-gems-3.2.2-152.oe2403sp1.aarch64.rpm","ruby-debuginfo-3.2.2-152.oe2403sp1.aarch64.rpm","ruby-debugsource-3.2.2-152.oe2403sp1.aarch64.rpm","ruby-devel-3.2.2-152.oe2403sp1.aarch64.rpm","rubygem-bigdecimal-3.1.3-152.oe2403sp1.aarch64.rpm","rubygem-io-console-0.6.0-152.oe2403sp1.aarch64.rpm","rubygem-json-2.6.3-152.oe2403sp1.aarch64.rpm","rubygem-openssl-3.1.0-152.oe2403sp1.aarch64.rpm","rubygem-psych-5.0.1-152.oe2403sp1.aarch64.rpm","rubygem-rbs-2.8.2-152.oe2403sp1.aarch64.rpm"],"noarch":["ruby-help-3.2.2-152.oe2403sp1.noarch.rpm","ruby-irb-3.2.2-152.oe2403sp1.noarch.rpm","rubygem-did_you_mean-1.6.3-152.oe2403sp1.noarch.rpm","rubygem-minitest-5.16.3-152.oe2403sp1.noarch.rpm","rubygem-rake-13.0.6-152.oe2403sp1.noarch.rpm","rubygem-rdoc-6.5.0-152.oe2403sp1.noarch.rpm","rubygem-rexml-3.2.5-152.oe2403sp1.noarch.rpm","rubygem-rss-0.2.9-152.oe2403sp1.noarch.rpm","rubygem-test-unit-3.5.7-152.oe2403sp1.noarch.rpm","rubygem-typeprof-0.21.3-152.oe2403sp1.noarch.rpm","rubygems-3.4.10-152.oe2403sp1.noarch.rpm","rubygems-devel-3.4.10-152.oe2403sp1.noarch.rpm"],"src":["ruby-3.2.2-152.oe2403sp1.src.rpm"],"x86_64":["ruby-3.2.2-152.oe2403sp1.x86_64.rpm","ruby-bundled-gems-3.2.2-152.oe2403sp1.x86_64.rpm","ruby-debuginfo-3.2.2-152.oe2403sp1.x86_64.rpm","ruby-debugsource-3.2.2-152.oe2403sp1.x86_64.rpm","ruby-devel-3.2.2-152.oe2403sp1.x86_64.rpm","rubygem-bigdecimal-3.1.3-152.oe2403sp1.x86_64.rpm","rubygem-io-console-0.6.0-152.oe2403sp1.x86_64.rpm","rubygem-json-2.6.3-152.oe2403sp1.x86_64.rpm","rubygem-openssl-3.1.0-152.oe2403sp1.x86_64.rpm","rubygem-psych-5.0.1-152.oe2403sp1.x86_64.rpm","rubygem-rbs-2.8.2-152.oe2403sp1.x86_64.rpm"]}},{"package":{"ecosystem":"openEuler:24.03-LTS-SP3","name":"ruby","purl":"pkg:rpm/openEuler/ruby&distro=openEuler-24.03-LTS-SP3"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.2.2-152.oe2403sp3"}]}],"ecosystem_specific":{"aarch64":["ruby-3.2.2-152.oe2403sp3.aarch64.rpm","ruby-bundled-gems-3.2.2-152.oe2403sp3.aarch64.rpm","ruby-debuginfo-3.2.2-152.oe2403sp3.aarch64.rpm","ruby-debugsource-3.2.2-152.oe2403sp3.aarch64.rpm","ruby-devel-3.2.2-152.oe2403sp3.aarch64.rpm","rubygem-bigdecimal-3.1.3-152.oe2403sp3.aarch64.rpm","rubygem-io-console-0.6.0-152.oe2403sp3.aarch64.rpm","rubygem-json-2.6.3-152.oe2403sp3.aarch64.rpm","rubygem-openssl-3.1.0-152.oe2403sp3.aarch64.rpm","rubygem-psych-5.0.1-152.oe2403sp3.aarch64.rpm","rubygem-rbs-2.8.2-152.oe2403sp3.aarch64.rpm"],"noarch":["ruby-help-3.2.2-152.oe2403sp3.noarch.rpm","ruby-irb-3.2.2-152.oe2403sp3.noarch.rpm","rubygem-did_you_mean-1.6.3-152.oe2403sp3.noarch.rpm","rubygem-minitest-5.16.3-152.oe2403sp3.noarch.rpm","rubygem-rake-13.0.6-152.oe2403sp3.noarch.rpm","rubygem-rdoc-6.5.0-152.oe2403sp3.noarch.rpm","rubygem-rexml-3.2.5-152.oe2403sp3.noarch.rpm","rubygem-rss-0.2.9-152.oe2403sp3.noarch.rpm","rubygem-test-unit-3.5.7-152.oe2403sp3.noarch.rpm","rubygem-typeprof-0.21.3-152.oe2403sp3.noarch.rpm","rubygems-3.4.10-152.oe2403sp3.noarch.rpm","rubygems-devel-3.4.10-152.oe2403sp3.noarch.rpm"],"src":["ruby-3.2.2-152.oe2403sp3.src.rpm"],"x86_64":["ruby-3.2.2-152.oe2403sp3.x86_64.rpm","ruby-bundled-gems-3.2.2-152.oe2403sp3.x86_64.rpm","ruby-debuginfo-3.2.2-152.oe2403sp3.x86_64.rpm","ruby-debugsource-3.2.2-152.oe2403sp3.x86_64.rpm","ruby-devel-3.2.2-152.oe2403sp3.x86_64.rpm","rubygem-bigdecimal-3.1.3-152.oe2403sp3.x86_64.rpm","rubygem-io-console-0.6.0-152.oe2403sp3.x86_64.rpm","rubygem-json-2.6.3-152.oe2403sp3.x86_64.rpm","rubygem-openssl-3.1.0-152.oe2403sp3.x86_64.rpm","rubygem-psych-5.0.1-152.oe2403sp3.x86_64.rpm","rubygem-rbs-2.8.2-152.oe2403sp3.x86_64.rpm"]}},{"package":{"ecosystem":"openEuler:20.03-LTS-SP4","name":"ruby","purl":"pkg:rpm/openEuler/ruby&distro=openEuler-20.03-LTS-SP4"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.5.8-137.oe2003sp4"}]}],"ecosystem_specific":{"aarch64":["ruby-2.5.8-137.oe2003sp4.aarch64.rpm","ruby-debuginfo-2.5.8-137.oe2003sp4.aarch64.rpm","ruby-debugsource-2.5.8-137.oe2003sp4.aarch64.rpm","ruby-devel-2.5.8-137.oe2003sp4.aarch64.rpm","rubygem-bigdecimal-1.3.4-137.oe2003sp4.aarch64.rpm","rubygem-io-console-0.4.6-137.oe2003sp4.aarch64.rpm","rubygem-json-2.1.0-137.oe2003sp4.aarch64.rpm","rubygem-openssl-2.1.2-137.oe2003sp4.aarch64.rpm","rubygem-psych-3.0.2-137.oe2003sp4.aarch64.rpm"],"noarch":["ruby-help-2.5.8-137.oe2003sp4.noarch.rpm","ruby-irb-2.5.8-137.oe2003sp4.noarch.rpm","rubygem-did_you_mean-1.2.0-137.oe2003sp4.noarch.rpm","rubygem-minitest-5.10.3-137.oe2003sp4.noarch.rpm","rubygem-net-telnet-0.1.1-137.oe2003sp4.noarch.rpm","rubygem-power_assert-1.1.1-137.oe2003sp4.noarch.rpm","rubygem-rake-12.3.0-137.oe2003sp4.noarch.rpm","rubygem-rdoc-6.0.1.1-137.oe2003sp4.noarch.rpm","rubygem-test-unit-3.2.7-137.oe2003sp4.noarch.rpm","rubygem-xmlrpc-0.3.0-137.oe2003sp4.noarch.rpm","rubygems-2.7.6-137.oe2003sp4.noarch.rpm","rubygems-devel-2.7.6-137.oe2003sp4.noarch.rpm"],"src":["ruby-2.5.8-137.oe2003sp4.src.rpm"],"x86_64":["ruby-2.5.8-137.oe2003sp4.x86_64.rpm","ruby-debuginfo-2.5.8-137.oe2003sp4.x86_64.rpm","ruby-debugsource-2.5.8-137.oe2003sp4.x86_64.rpm","ruby-devel-2.5.8-137.oe2003sp4.x86_64.rpm","rubygem-bigdecimal-1.3.4-137.oe2003sp4.x86_64.rpm","rubygem-io-console-0.4.6-137.oe2003sp4.x86_64.rpm","rubygem-json-2.1.0-137.oe2003sp4.x86_64.rpm","rubygem-openssl-2.1.2-137.oe2003sp4.x86_64.rpm","rubygem-psych-3.0.2-137.oe2003sp4.x86_64.rpm"]}},{"package":{"ecosystem":"openEuler:22.03-LTS-SP4","name":"ruby","purl":"pkg:rpm/openEuler/ruby&distro=openEuler-22.03-LTS-SP4"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.0.3-145.oe2203sp4"}]}],"ecosystem_specific":{"aarch64":["ruby-3.0.3-145.oe2203sp4.aarch64.rpm","ruby-debuginfo-3.0.3-145.oe2203sp4.aarch64.rpm","ruby-debugsource-3.0.3-145.oe2203sp4.aarch64.rpm","ruby-devel-3.0.3-145.oe2203sp4.aarch64.rpm","rubygem-bigdecimal-3.0.0-145.oe2203sp4.aarch64.rpm","rubygem-io-console-0.5.7-145.oe2203sp4.aarch64.rpm","rubygem-json-2.5.1-145.oe2203sp4.aarch64.rpm","rubygem-openssl-2.2.1-145.oe2203sp4.aarch64.rpm","rubygem-psych-3.3.2-145.oe2203sp4.aarch64.rpm"],"noarch":["ruby-help-3.0.3-145.oe2203sp4.noarch.rpm","ruby-irb-3.0.3-145.oe2203sp4.noarch.rpm","rubygem-bundler-2.2.32-145.oe2203sp4.noarch.rpm","rubygem-did_you_mean-1.5.0-145.oe2203sp4.noarch.rpm","rubygem-minitest-5.14.2-145.oe2203sp4.noarch.rpm","rubygem-rake-13.0.3-145.oe2203sp4.noarch.rpm","rubygem-rbs-1.4.0-145.oe2203sp4.noarch.rpm","rubygem-rdoc-6.3.3-145.oe2203sp4.noarch.rpm","rubygem-rexml-3.2.5-145.oe2203sp4.noarch.rpm","rubygem-rss-0.2.9-145.oe2203sp4.noarch.rpm","rubygem-test-unit-3.3.7-145.oe2203sp4.noarch.rpm","rubygem-typeprof-0.15.2-145.oe2203sp4.noarch.rpm","rubygems-3.2.32-145.oe2203sp4.noarch.rpm","rubygems-devel-3.2.32-145.oe2203sp4.noarch.rpm"],"src":["ruby-3.0.3-145.oe2203sp4.src.rpm"],"x86_64":["ruby-3.0.3-145.oe2203sp4.x86_64.rpm","ruby-debuginfo-3.0.3-145.oe2203sp4.x86_64.rpm","ruby-debugsource-3.0.3-145.oe2203sp4.x86_64.rpm","ruby-devel-3.0.3-145.oe2203sp4.x86_64.rpm","rubygem-bigdecimal-3.0.0-145.oe2203sp4.x86_64.rpm","rubygem-io-console-0.5.7-145.oe2203sp4.x86_64.rpm","rubygem-json-2.5.1-145.oe2203sp4.x86_64.rpm","rubygem-openssl-2.2.1-145.oe2203sp4.x86_64.rpm","rubygem-psych-3.3.2-145.oe2203sp4.x86_64.rpm"]}},{"package":{"ecosystem":"openEuler:24.03-LTS","name":"ruby","purl":"pkg:rpm/openEuler/ruby&distro=openEuler-24.03-LTS"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.2.2-152.oe2403"}]}],"ecosystem_specific":{"aarch64":["ruby-3.2.2-152.oe2403sp1.aarch64.rpm","ruby-bundled-gems-3.2.2-152.oe2403sp1.aarch64.rpm","ruby-debuginfo-3.2.2-152.oe2403sp1.aarch64.rpm","ruby-debugsource-3.2.2-152.oe2403sp1.aarch64.rpm","ruby-devel-3.2.2-152.oe2403sp1.aarch64.rpm","rubygem-bigdecimal-3.1.3-152.oe2403sp1.aarch64.rpm","rubygem-io-console-0.6.0-152.oe2403sp1.aarch64.rpm","rubygem-json-2.6.3-152.oe2403sp1.aarch64.rpm","rubygem-openssl-3.1.0-152.oe2403sp1.aarch64.rpm","rubygem-psych-5.0.1-152.oe2403sp1.aarch64.rpm","rubygem-rbs-2.8.2-152.oe2403sp1.aarch64.rpm","ruby-3.2.2-152.oe2403sp3.aarch64.rpm","ruby-bundled-gems-3.2.2-152.oe2403sp3.aarch64.rpm","ruby-debuginfo-3.2.2-152.oe2403sp3.aarch64.rpm","ruby-debugsource-3.2.2-152.oe2403sp3.aarch64.rpm","ruby-devel-3.2.2-152.oe2403sp3.aarch64.rpm","rubygem-bigdecimal-3.1.3-152.oe2403sp3.aarch64.rpm","rubygem-io-console-0.6.0-152.oe2403sp3.aarch64.rpm","rubygem-json-2.6.3-152.oe2403sp3.aarch64.rpm","rubygem-openssl-3.1.0-152.oe2403sp3.aarch64.rpm","rubygem-psych-5.0.1-152.oe2403sp3.aarch64.rpm","rubygem-rbs-2.8.2-152.oe2403sp3.aarch64.rpm","ruby-3.2.2-152.oe2403.aarch64.rpm","ruby-bundled-gems-3.2.2-152.oe2403.aarch64.rpm","ruby-debuginfo-3.2.2-152.oe2403.aarch64.rpm","ruby-debugsource-3.2.2-152.oe2403.aarch64.rpm","ruby-devel-3.2.2-152.oe2403.aarch64.rpm","rubygem-bigdecimal-3.1.3-152.oe2403.aarch64.rpm","rubygem-io-console-0.6.0-152.oe2403.aarch64.rpm","rubygem-json-2.6.3-152.oe2403.aarch64.rpm","rubygem-openssl-3.1.0-152.oe2403.aarch64.rpm","rubygem-psych-5.0.1-152.oe2403.aarch64.rpm","rubygem-rbs-2.8.2-152.oe2403.aarch64.rpm"],"noarch":["ruby-help-3.2.2-152.oe2403sp1.noarch.rpm","ruby-irb-3.2.2-152.oe2403sp1.noarch.rpm","rubygem-did_you_mean-1.6.3-152.oe2403sp1.noarch.rpm","rubygem-minitest-5.16.3-152.oe2403sp1.noarch.rpm","rubygem-rake-13.0.6-152.oe2403sp1.noarch.rpm","rubygem-rdoc-6.5.0-152.oe2403sp1.noarch.rpm","rubygem-rexml-3.2.5-152.oe2403sp1.noarch.rpm","rubygem-rss-0.2.9-152.oe2403sp1.noarch.rpm","rubygem-test-unit-3.5.7-152.oe2403sp1.noarch.rpm","rubygem-typeprof-0.21.3-152.oe2403sp1.noarch.rpm","rubygems-3.4.10-152.oe2403sp1.noarch.rpm","rubygems-devel-3.4.10-152.oe2403sp1.noarch.rpm","ruby-help-3.2.2-152.oe2403sp3.noarch.rpm","ruby-irb-3.2.2-152.oe2403sp3.noarch.rpm","rubygem-did_you_mean-1.6.3-152.oe2403sp3.noarch.rpm","rubygem-minitest-5.16.3-152.oe2403sp3.noarch.rpm","rubygem-rake-13.0.6-152.oe2403sp3.noarch.rpm","rubygem-rdoc-6.5.0-152.oe2403sp3.noarch.rpm","rubygem-rexml-3.2.5-152.oe2403sp3.noarch.rpm","rubygem-rss-0.2.9-152.oe2403sp3.noarch.rpm","rubygem-test-unit-3.5.7-152.oe2403sp3.noarch.rpm","rubygem-typeprof-0.21.3-152.oe2403sp3.noarch.rpm","rubygems-3.4.10-152.oe2403sp3.noarch.rpm","rubygems-devel-3.4.10-152.oe2403sp3.noarch.rpm","ruby-help-3.2.2-152.oe2403.noarch.rpm","ruby-irb-3.2.2-152.oe2403.noarch.rpm","rubygem-did_you_mean-1.6.3-152.oe2403.noarch.rpm","rubygem-minitest-5.16.3-152.oe2403.noarch.rpm","rubygem-rake-13.0.6-152.oe2403.noarch.rpm","rubygem-rdoc-6.5.0-152.oe2403.noarch.rpm","rubygem-rexml-3.2.5-152.oe2403.noarch.rpm","rubygem-rss-0.2.9-152.oe2403.noarch.rpm","rubygem-test-unit-3.5.7-152.oe2403.noarch.rpm","rubygem-typeprof-0.21.3-152.oe2403.noarch.rpm","rubygems-3.4.10-152.oe2403.noarch.rpm","rubygems-devel-3.4.10-152.oe2403.noarch.rpm"],"src":["ruby-3.2.2-152.oe2403sp1.src.rpm","ruby-3.2.2-152.oe2403sp3.src.rpm","ruby-3.2.2-152.oe2403.src.rpm"],"x86_64":["ruby-3.2.2-152.oe2403sp1.x86_64.rpm","ruby-bundled-gems-3.2.2-152.oe2403sp1.x86_64.rpm","ruby-debuginfo-3.2.2-152.oe2403sp1.x86_64.rpm","ruby-debugsource-3.2.2-152.oe2403sp1.x86_64.rpm","ruby-devel-3.2.2-152.oe2403sp1.x86_64.rpm","rubygem-bigdecimal-3.1.3-152.oe2403sp1.x86_64.rpm","rubygem-io-console-0.6.0-152.oe2403sp1.x86_64.rpm","rubygem-json-2.6.3-152.oe2403sp1.x86_64.rpm","rubygem-openssl-3.1.0-152.oe2403sp1.x86_64.rpm","rubygem-psych-5.0.1-152.oe2403sp1.x86_64.rpm","rubygem-rbs-2.8.2-152.oe2403sp1.x86_64.rpm","ruby-3.2.2-152.oe2403sp3.x86_64.rpm","ruby-bundled-gems-3.2.2-152.oe2403sp3.x86_64.rpm","ruby-debuginfo-3.2.2-152.oe2403sp3.x86_64.rpm","ruby-debugsource-3.2.2-152.oe2403sp3.x86_64.rpm","ruby-devel-3.2.2-152.oe2403sp3.x86_64.rpm","rubygem-bigdecimal-3.1.3-152.oe2403sp3.x86_64.rpm","rubygem-io-console-0.6.0-152.oe2403sp3.x86_64.rpm","rubygem-json-2.6.3-152.oe2403sp3.x86_64.rpm","rubygem-openssl-3.1.0-152.oe2403sp3.x86_64.rpm","rubygem-psych-5.0.1-152.oe2403sp3.x86_64.rpm","rubygem-rbs-2.8.2-152.oe2403sp3.x86_64.rpm","ruby-3.2.2-152.oe2403.x86_64.rpm","ruby-bundled-gems-3.2.2-152.oe2403.x86_64.rpm","ruby-debuginfo-3.2.2-152.oe2403.x86_64.rpm","ruby-debugsource-3.2.2-152.oe2403.x86_64.rpm","ruby-devel-3.2.2-152.oe2403.x86_64.rpm","rubygem-bigdecimal-3.1.3-152.oe2403.x86_64.rpm","rubygem-io-console-0.6.0-152.oe2403.x86_64.rpm","rubygem-json-2.6.3-152.oe2403.x86_64.rpm","rubygem-openssl-3.1.0-152.oe2403.x86_64.rpm","rubygem-psych-5.0.1-152.oe2403.x86_64.rpm","rubygem-rbs-2.8.2-152.oe2403.x86_64.rpm"]}}],"references":[{"type":"ADVISORY","url":"https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-2263"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-41316"}],"database_specific":{"severity":"High"}}
