Ruby on Rails up to 4.0.8/4.1.4 ActiveRecord create_with access control

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.
4.6$0-$5k0.00

A vulnerability, which was classified as critical, was found in Ruby on Rails up to 4.0.8/4.1.4 (Programming Language Software). This affects the function create_with of the component ActiveRecord. The manipulation with an unknown input leads to a access control vulnerability. CWE is classifying the issue as CWE-264. This is going to have an impact on integrity.

The weakness was disclosed 08/18/2014 by Stephen Touset with Square as Strong Parameter bypass with create_with as confirmed mailinglist post (oss-sec). The advisory is shared at seclists.org. This vulnerability is uniquely identified as CVE-2014-3514 since 05/14/2014. The exploitability is told to be easy. It is possible to initiate the attack remotely. No form of authentication is needed for exploitation. Technical details are known, but no exploit is available. MITRE ATT&CK project uses the attack technique T1068 for this issue. The advisory points out:

The create_with functionality in Active Record was implemented incorrectly and completely bypasses the strong parameters protection. Applications which pass user-controlled values to create_with could allow attackers to set arbitrary attributes on models.

The vulnerability scanner Nessus provides a plugin with the ID 77949 (Fedora 20 : rubygem-activerecord-4.0.0-5.fc20 (2014-9706)), which helps to determine the existence of the flaw in a target environment. It is assigned to the family Fedora Local Security Checks.

Upgrading to version 4.0.9 or 4.1.5 eliminates this vulnerability. A possible mitigation has been published immediately after the disclosure of the vulnerability. The mailinglist post contains the following remark:

To avoid this vulnerability you will have to either remove all calls to create_with, or carefully audit your codebase to ensure it sanitizes the input first. For example you should replace code like this: user.blog_posts.create_with(params[:blog_post]).create with either: user.blog_posts.create(params[:blog_post]) or: user.blog_posts.create_with(params[:blog_post].permit(:title, :body, :etc)).create

The vulnerability is also documented in the databases at X-Force (95333) and Tenable (77949).

Productinfo

Type

Name

Version

License

CPE 2.3info

CPE 2.2info

CVSSv4info

VulDB CVSS-B Score: 🔍
VulDB CVSS-BT Score: 🔍
VulDB Vector: 🔍
VulDB Reliability: 🔍

CVSSv3info

VulDB Meta Base Score: 5.3
VulDB Meta Temp Score: 4.6

VulDB Base Score: 5.3
VulDB Temp Score: 4.6
VulDB Vector: 🔍
VulDB Reliability: 🔍

CVSSv2info

AVACAuCIA
💳💳💳💳💳💳
💳💳💳💳💳💳
💳💳💳💳💳💳
VectorComplexityAuthenticationConfidentialityIntegrityAvailability
unlockunlockunlockunlockunlockunlock
unlockunlockunlockunlockunlockunlock
unlockunlockunlockunlockunlockunlock

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

NVD Base Score: 🔍

Exploitinginfo

Class: Access control
CWE: CWE-264
CAPEC: 🔍
ATT&CK: 🔍

Local: No
Remote: Yes

Availability: 🔍
Status: Unproven

EPSS Score: 🔍
EPSS Percentile: 🔍

Price Prediction: 🔍
Current Price Estimation: 🔍

0-Dayunlockunlockunlockunlock
Todayunlockunlockunlockunlock

Nessus ID: 77949
Nessus Name: Fedora 20 : rubygem-activerecord-4.0.0-5.fc20 (2014-9706)
Nessus File: 🔍
Nessus Risk: 🔍
Nessus Family: 🔍
Nessus Port: 🔍

OpenVAS ID: 867773
OpenVAS Name: Fedora Update for rubygem-activerecord FEDORA-2014-9706
OpenVAS File: 🔍
OpenVAS Family: 🔍

Threat Intelligenceinfo

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

Countermeasuresinfo

Recommended: Upgrade
Status: 🔍

Reaction Time: 🔍
0-Day Time: 🔍
Exposure Time: 🔍

Upgrade: Ruby on Rails 4.0.9/4.1.5

Timelineinfo

05/14/2014 🔍
08/18/2014 +96 days 🔍
08/18/2014 +0 days 🔍
08/18/2014 +0 days 🔍
08/18/2014 +0 days 🔍
08/18/2014 +0 days 🔍
08/20/2014 +2 days 🔍
08/20/2014 +0 days 🔍
08/29/2014 +9 days 🔍
09/07/2014 +9 days 🔍
09/29/2014 +22 days 🔍
02/10/2022 +2691 days 🔍

Sourcesinfo

Advisory: Strong Parameter bypass with create_with
Researcher: Stephen Touset
Organization: Square
Status: Confirmed
Confirmation: 🔍

CVE: CVE-2014-3514 (🔍)
X-Force: 95333 - Ruby on Rails create_with() security bypass, Medium Risk
SecurityTracker: 1030737 - Rails ActiveRecord Bug in create_with() Lets Remote Users Bypass Security to Set Arbitrary Attributes on Models
Vulnerability Center: 46006 - Ruby on Rails Remote Security Bypass via Crafted Input, High
SecurityFocus: 69265 - Ruby on Rails 'create_with()' Function Security Bypass Vulnerability
Secunia: 60347 - Red hat update for ror40-rubygem-activerecord, Less Critical

Entryinfo

Created: 08/20/2014 15:12
Updated: 02/10/2022 20:57
Changes: 08/20/2014 15:12 (83), 06/05/2017 10:52 (6), 02/10/2022 20:50 (3), 02/10/2022 20:57 (1)
Complete: 🔍

Discussion

No comments yet. Languages: en.

Please log in to comment.

Do you want to use VulDB in your project?

Use the official API to access entries easily!