Bug 1114425 (CVE-2014-3482)

Summary: CVE-2014-3482 rubygem-activerecord: SQL injection vulnerability in 'bitstring' quoting
Product: [Other] Security Response Reporter: Murray McAllister <mmcallis>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED ERRATA QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: abaron, aortega, apevec, ayoung, bdunne, bkabrda, bkearney, bleanhar, cbillett, ccoleman, chrisw, dajohnso, dallan, dclarizi, dmcphers, gkotton, gmccullo, gmollett, jdetiber, jfrey, jialiu, jkeck, jokerman, jorton, jprause, jrafanie, jrusnack, jstribny, jvlcek, katello-bugs, kseifried, lhh, lmeyer, markmc, mastahnke, mburns, mmaslano, mmccomas, mmcgrath, mmorsi, mpovolny, mtasaka, obarenbo, rbryant, rhos-maint, sclewis, security-response-team, sseago, tomckay, vanmeeuwen+fedora, vdanen, vondruch, xlecauch, yeylon
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: rubygem-activerecord 3.2.19, rubygem-activerecord 4.0.0 Doc Type: Bug Fix
Doc Text:
It was discovered that Active Record did not properly quote values of the bitstring type attributes when using the PostgreSQL database adapter. A remote attacker could possibly use this flaw to conduct an SQL injection attack against applications using Active Record.
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-11-06 09:45:46 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1115332, 1115334, 1115628, 1115629, 1115775, 1115776, 1143801    
Bug Blocks: 1114429    
Attachments:
Description Flags
patch from upstream none

Description Murray McAllister 2014-06-30 04:44:27 UTC
An SQL injection flaw was found in the PostgreSQL adapter for Active Record. An attacker could possibly perform SQL injection attacks if a Ruby on Rails application performed queries against the bitstring type.

This issue affects versions 2.0.0-3.2.18 and newer. It is reported that versions 4.0 and newer are not affected.

Acknowledgements:

Red Hat would like to thank the Ruby on Rails project for reporting this issue. Upstream acknowledges Sean Griffin of thoughtbot as the original reporter.

Comment 2 Murray McAllister 2014-06-30 04:49:24 UTC
Created attachment 913247 [details]
patch from upstream

Comment 4 Kurt Seifried 2014-07-02 17:37:07 UTC
This is now public:
https://groups.google.com/forum/#!topic/rubyonrails-security/wDxePLJGZdI

Comment 6 Kurt Seifried 2014-07-02 19:49:27 UTC
Statement:

This issue does not affect CloudForms 5 as it does not use the "bitstring" data type anywhere in the product.

Comment 7 Murray McAllister 2014-07-03 06:08:36 UTC
Created rubygem-activerecord tracking bugs for this issue:

Affects: fedora-19 [bug 1115775]
Affects: epel-5 [bug 1115776]

Comment 8 Tomas Hoger 2014-07-03 06:52:18 UTC
Upstream release announcement:
http://weblog.rubyonrails.org/2014/7/2/Rails_3_2_19_4_0_7_and_4_1_3_have_been_released/

Upstream 3.2.x commit:
https://github.com/rails/rails/commit/1f2192e46d78ee0ba2b06373f2c24caf8440ff5b

Fixed in ActiveRecord 3.2.19.  4.x versions were not affected according to upstream.

Comment 10 Martin Prpič 2014-07-14 09:26:39 UTC
IssueDescription:

It was discovered that Active Record did not properly quote values of the bitstring type attributes when using the PostgreSQL database adapter. A remote attacker could possibly use this flaw to conduct an SQL injection attack against applications using Active Record.

Comment 11 errata-xmlrpc 2014-07-14 16:16:19 UTC
This issue has been addressed in following products:

  Red Hat Software Collections 1 for Red Hat Enterprise Linux 6
  Red Hat Software Collections 1 for Red Hat Enterprise Linux 6.4 EUS
  Red Hat Software Collections 1 for Red Hat Enterprise Linux 7

Via RHSA-2014:0876 https://rhn.redhat.com/errata/RHSA-2014-0876.html

Comment 12 Kurt Seifried 2014-09-18 03:31:53 UTC
CFME doesn't use any bitstring fields in the database backend. But we should rebase activerecord at some point.

Comment 13 Kurt Seifried 2014-09-18 03:46:08 UTC
SAM-1 doesn't use any bitstring fields in the database backend. But we should rebase activerecord at some point.