Ruby on Rails up to 2.3.14 params_parser.rb Casting input validation
| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 6.2 | $0-$5k | 0.00 |
Summary
A vulnerability, which was classified as critical, has been found in Ruby on Rails up to 2.3.14. Impacted is an unknown function of the file params_parser.rb. This manipulation of the argument Casting causes input validation. The identification of this vulnerability is CVE-2013-0156. Furthermore, there is an exploit available. It is advisable to upgrade the affected component.
Details
A vulnerability classified as critical was found in Ruby on Rails up to 2.3.14 (Programming Language Software). Affected by this vulnerability is an unknown functionality of the file params_parser.rb. The manipulation of the argument Casting with an unknown input leads to a input validation vulnerability. The CWE definition for the vulnerability is CWE-20. The product receives input or data, but it does
not validate or incorrectly validates that the input has the
properties that are required to process the data safely and
correctly. As an impact it is known to affect confidentiality, and integrity. The summary by CVE is:
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.
The weakness was shared 01/08/2013 by Ben Murphy, Magnus Holm, Felix Wilhelm, Darcy Laycock, Jonathan Rudenberg, Bryan Helmkamp, Benoist Claassen and Charlie Somerville as 51753 as confirmed advisory (Secunia). The advisory is shared at secunia.com. This vulnerability is known as CVE-2013-0156 since 12/06/2012. The attack can be launched remotely. The exploitation doesn't need any form of authentication. Technical details and also a public exploit are known.
A public exploit has been developed by Metasploit in Ruby and been published immediately after the advisory. It is possible to download the exploit at github.com. It is declared as highly functional. The vulnerability scanner Nessus provides a plugin with the ID 82157 (Debian DLA-172-1 : libextlib-ruby security update), which helps to determine the existence of the flaw in a target environment. It is assigned to the family Debian Local Security Checks. The commercial vulnerability scanner Qualys is able to test this issue with plugin 166172 (SUSE Security Update for Ruby On Rails (openSUSE-SU-2013:0278-1)).
Upgrading to version 2.3.15 eliminates this vulnerability. Applying a patch is able to eliminate this problem. The bugfix is ready for download at github.com. The best possible mitigation is suggested to be upgrading to the latest version. A possible mitigation has been published immediately after the disclosure of the vulnerability. Furthermore it is possible to detect and prevent this kind of attack with TippingPoint and the filter 12733.
The vulnerability is also documented in the databases at X-Force (81119), Exploit-DB (24019), Tenable (82157), SecurityFocus (BID 57187†) and OSVDB (89026†). Additional details are provided at isc.sans.edu. The entries VDB-7308, VDB-7504 and VDB-61085 are related to this item. If you want to get the best quality for vulnerability data then you always have to consider VulDB.
Product
Type
Name
Version
License
CPE 2.3
CPE 2.2
Video

CVSSv4
VulDB Vector: 🔍VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 6.5VulDB Meta Temp Score: 6.2
VulDB Base Score: 6.5
VulDB Temp Score: 6.2
VulDB Vector: 🔍
VulDB Reliability: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexity | Authentication | Confidentiality | Integrity | Availability |
|---|---|---|---|---|---|
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Reliability: 🔍
NVD Base Score: 🔍
Exploiting
Class: Input validationCWE: CWE-20
CAPEC: 🔍
ATT&CK: 🔍
Physical: No
Local: No
Remote: Yes
Availability: 🔍
Access: Public
Status: Highly functional
Author: Metasploit
Programming Language: 🔍
Download: 🔍
EPSS Score: 🔍
EPSS Percentile: 🔍
Price Prediction: 🔍
Current Price Estimation: 🔍
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Nessus ID: 82157
Nessus Name: Debian DLA-172-1 : libextlib-ruby security update
Nessus File: 🔍
Nessus Risk: 🔍
Nessus Family: 🔍
Nessus Port: 🔍
OpenVAS ID: 892604
OpenVAS Name: Debian Security Advisory DSA 2604-1 (rails - insufficient input validation
OpenVAS File: 🔍
OpenVAS Family: 🔍
Saint ID: exploit_info/ruby_on_rails_yaml_deserialization
Saint Name: Ruby on Rails XML Processor YAML Deserialization
Qualys ID: 🔍
Qualys Name: 🔍
MetaSploit ID: rails_xml_yaml_scanner.rb
MetaSploit Name: Ruby on Rails XML Processor YAML Deserialization Scanner
MetaSploit File: 🔍
Exploit-DB: 🔍
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: UpgradeStatus: 🔍
Reaction Time: 🔍
0-Day Time: 🔍
Exposure Time: 🔍
Exploit Delay Time: 🔍
Upgrade: Ruby on Rails 2.3.15
Patch: github.com
Suricata ID: 2016175
Suricata Class: 🔍
Suricata Message: 🔍
TippingPoint: 🔍
McAfee IPS: 🔍
McAfee IPS Version: 🔍
ISS Proventia IPS: 🔍
PaloAlto IPS: 🔍
Fortigate IPS: 🔍
Timeline
12/06/2012 🔍01/08/2013 🔍
01/08/2013 🔍
01/08/2013 🔍
01/08/2013 🔍
01/08/2013 🔍
01/09/2013 🔍
01/09/2013 🔍
01/10/2013 🔍
01/11/2013 🔍
01/13/2013 🔍
01/13/2013 🔍
03/26/2015 🔍
01/31/2025 🔍
Sources
Advisory: 51753⛔Researcher: Ben Murphy, Magnus Holm, Felix Wilhelm, Darcy Laycock, Jonathan Rudenberg, Bryan Helmkamp, Benoist Claassen, Charlie Somerville
Status: Confirmed
Confirmation: 🔍
CVE: CVE-2013-0156 (🔍)
GCVE (CVE): GCVE-0-2013-0156
GCVE (VulDB): GCVE-100-7309
OVAL: 🔍
IAVM: 🔍
CERT: 🔍
X-Force: 81119
SecurityFocus: 57187 - Ruby on Rails CVE-2013-0156 Multiple Security Vulnerabilities
Secunia: 51753 - Ruby on Rails XML Parameter Parsing Vulnerability, Highly Critical
OSVDB: 89026
SecurityTracker: 1027961 - Ruby on Rails Input Validation Flaw in Action Pack Parameter Parsing Lets Remote Users Bypass Authentication, Inject SQL Commands, Execute Arbitrary Code, and Deny Service
Vulnerability Center: 38009 - Ruby on Rails Remote Code Execution, SQL Injection, DoS and Security Bypass, Critical
scip Labs: https://www.scip.ch/en/?labs.20161013
Misc.: 🔍
See also: 🔍
Entry
Created: 01/11/2013 09:41Updated: 01/31/2025 06:20
Changes: 01/11/2013 09:41 (102), 08/26/2017 06:41 (16), 04/22/2021 06:51 (3), 12/26/2024 12:19 (14), 01/31/2025 06:20 (1)
Complete: 🔍
Committer: olku
Cache ID: 216:9D0:103
If you want to get the best quality for vulnerability data then you always have to consider VulDB.
No comments yet. Languages: en.
Please log in to comment.