CVE-2012-2694 actionpack allows remote attackers to bypass database-query restrictions, perform NULL checks via crafted request
Remote attackers can bypass database query restrictions and perform unauthorized NULL checks via crafted requests in Ruby on Rails.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2012-2694?
CVE-2012-2694 is a medium-severity SQL injection vulnerability in Rubyonrails Rails, published on 22 Jun 2012. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
actionpack/lib/action_dispatch/http/request.rb in Ruby on Rails before 3.0.14, 3.1.x before 3.1.6, and 3.2.x before 3.2.6 does not properly consider differences in parameter handling between the Active Record component and the Rack interface, which allows remote attackers to bypass intended database-query restrictions and perform NULL checks via a crafted request, as demonstrated by certain "['xyz', nil]" values, a related issue to CVE-2012-2660.
Weakness: CWE-264
Which versions are affected by CVE-2012-2694?
6 open source packages ship an affected version, including actionpack. It affects 2 products.
| Package | Affected | Fixed in |
|---|---|---|
actionpack RubyGems | From 3.0.13 | 3.0.14 |
actionpack RubyGems | From 3.0.13 | 3.0.14 |
actionpack RubyGems | From 3.1.0 | 3.1.6 |
actionpack RubyGems | From 3.1.0 | 3.1.6 |
actionpack RubyGems | From 3.2.0 | 3.2.6 |
actionpack RubyGems | From 3.2.0 | 3.2.6 |
Products include Rubyonrails Rails, Rubyonrails Ruby on Rails.
How do I fix CVE-2012-2694?
Upgrade actionpack to a fixed version for your release line: 3.0.14, 3.1.6 or 3.2.6.
Use parameterised queries everywhere and never build SQL by joining strings. Upgrade affected software first; a web application firewall only buys time. More about SQL injection.
Is CVE-2012-2694 being exploited?
There is no known exploitation of CVE-2012-2694 in the wild and no public exploit code.
Other vulnerabilities in Rubyonrails Rails
- CVE-2013-0277 Active Record contains deserialization of arbitrary YAML
- CVE-2017-17916 SQL injection in n/a
- CVE-2017-17917 SQL injection in n/a
- CVE-2026-33195 Rails Active Storage has possible Path Traversal in DiskService
- CVE-2024-26142 Rails possible ReDoS vulnerability in Accept header parsing in Action Dispatch
Sources
Also known as GHSA-q34c-48gc-m9g8.