Vulnerability record · CVE-2013-0156 · published 13 January 2013
CVE-2013-0156: Ruby on Rails XML parameter parsing allows object injection and code execution
Rubyonrails · Rails
Ruby on Rails fails to properly restrict casts of string values in active_support/core_ext/hash/conversions.rb, allowing remote attackers to perform object-injection attacks and execute arbitrary code. The flaw also permits denial of service through nested XML entity references that consume memory and CPU. It affects 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.
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.
AV:N/AC:L/Au:N/C:P/I:P/A:P
Automated analysis
critical priorityUnauthenticated remote code execution with an EPSS probability above 0.99 and public exploitation tooling makes this an urgent patching priority.
What it is
Ruby on Rails fails to properly restrict casts of string values in active_support/core_ext/hash/conversions.rb, allowing remote attackers to perform object-injection attacks and execute arbitrary code. The flaw also permits denial of service through nested XML entity references that consume memory and CPU. It affects 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.
Impact
An unauthenticated remote attacker can execute arbitrary code in the context of the Rails application or exhaust server memory and CPU to cause a denial of service.
Attack surface
Reached over the network via HTTP requests that supply crafted XML or YAML/Symbol type-converted parameters to Action Pack; no authentication or user interaction is required per the AV:N/AC:L/Au:N vector.
Exploitation
Not listed in CISA KEV, but EPSS is 0.99449 (99.942 percentile), indicating near-certain exploitation activity; references include a Metasploit blog post on serialization exploitation, and no ransomware group usage is documented.
What to do
- Upgrade Rails to 2.3.15, 3.0.19, 3.1.10, 3.2.11 or later, or apply the vendor patch for your branch
- Apply the official workaround disabling XML parameter parsing (action_dispatch request parameter parsing) if immediate upgrade is not possible
- Apply distribution vendor updates for Debian, Red Hat, and other affected packages
- Disable or restrict YAML and Symbol type conversion in incoming request parameters
- Review and limit XML entity expansion in any XML parsing paths
Detection
- Monitor HTTP requests containing XML bodies with nested entity references or YAML/Symbol type tags
- Alert on Rails application processes spawning unexpected child processes or shell commands
- Track spikes in memory and CPU usage correlated with XML-heavy request patterns
- Search logs for Action Pack parameter parsing errors or exceptions involving YAML or Symbol conversion
This assessment is produced automatically and is not human-reviewed. Verify against the vendor advisory before acting on it.
Affected products
3 vulnerable configurations from NVD's CPE data, grouped by vendor and product.
References
Track CVE-2013-0156 inside VULONE
Watch it alongside the ransomware crews, C2 infrastructure and forum chatter that reference it, query it through the API and pull it into your SIEM over TAXII.
Related vulnerabilities
Same products first, then exploited flaws of the same weakness class.
Source: NIST National Vulnerability Database (record CVE-2013-0156), CISA KEV, FIRST EPSS (scores of 2026-09-22). This page is refreshed as NVD updates the record.