Ruby on Rails up to 2.3.14 params_parser.rb Casting input validation

CVSS Meta Temp Score
CVSS is a standardized scoring system to determine possibilities of attacks. The Temp Score considers temporal factors like disclosure, exploit and countermeasures. The unique Meta Score calculates the average score of different sources to provide a normalized scoring system.
Current Exploit Price (≈)
Our analysts are monitoring exploit markets and are in contact with vulnerability brokers. The range indicates the observed or calculated exploit price to be seen on exploit markets. A good indicator to understand the monetary effort required for and the popularity of an attack.
CTI Interest Score
Our Cyber Threat Intelligence team is monitoring different web sites, mailing lists, exploit markets and social media networks. The CTI Interest Score identifies the interest of attackers and the security community for this specific vulnerability in real-time. A high score indicates an elevated risk to be targeted for this vulnerability.
6.2$0-$5k0.00

Summaryinfo

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.

Detailsinfo

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.

Productinfo

Type

Name

Version

License

CPE 2.3info

CPE 2.2info

Video

CVSSv4info

VulDB Vector: 🔍
VulDB Reliability: 🔍

CVSSv3info

VulDB Meta Base Score: 6.5
VulDB Meta Temp Score: 6.2

VulDB Base Score: 6.5
VulDB Temp Score: 6.2
VulDB Vector: 🔍
VulDB Reliability: 🔍

CVSSv2info

AVACAuCIA
💳💳💳💳💳💳
💳💳💳💳💳💳
💳💳💳💳💳💳
VectorComplexityAuthenticationConfidentialityIntegrityAvailability
UnlockUnlockUnlockUnlockUnlockUnlock
UnlockUnlockUnlockUnlockUnlockUnlock
UnlockUnlockUnlockUnlockUnlockUnlock

VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Reliability: 🔍

NVD Base Score: 🔍

Exploitinginfo

Class: Input validation
CWE: 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-DayUnlockUnlockUnlockUnlock
TodayUnlockUnlockUnlockUnlock

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 Intelligenceinfo

Interest: 🔍
Active Actors: 🔍
Active APT Groups: 🔍

Countermeasuresinfo

Recommended: Upgrade
Status: 🔍

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: 🔍

Timelineinfo

12/06/2012 🔍
01/08/2013 +33 days 🔍
01/08/2013 +0 days 🔍
01/08/2013 +0 days 🔍
01/08/2013 +0 days 🔍
01/08/2013 +0 days 🔍
01/09/2013 +1 days 🔍
01/09/2013 +0 days 🔍
01/10/2013 +1 days 🔍
01/11/2013 +1 days 🔍
01/13/2013 +2 days 🔍
01/13/2013 +0 days 🔍
03/26/2015 +802 days 🔍
01/31/2025 +3599 days 🔍

Sourcesinfo

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: 🔍

Entryinfo

Created: 01/11/2013 09:41
Updated: 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.

Discussion

No comments yet. Languages: en.

Please log in to comment.

Want to know what is going to be exploited?

We predict KEV entries!