blob: 31b0de2609c95f636983bdc508abb830abe6f602 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE glsa SYSTEM "http://www.gentoo.org/dtd/glsa.dtd">
<glsa id="201401-22">
<title>Active Record: SQL injection</title>
<synopsis>A vulnerability in Active Record could allow a remote attacker to
inject SQL commands.
</synopsis>
<product type="ebuild">activerecord</product>
<announced>January 21, 2014</announced>
<revised>January 21, 2014: 1</revised>
<bug>449826</bug>
<access>remote</access>
<affected>
<package name="dev-ruby/activerecord" auto="yes" arch="*">
<unaffected range="ge">2.3.14-r1</unaffected>
<vulnerable range="lt">2.3.14-r1</vulnerable>
</package>
</affected>
<background>
<p>Active Record is a Ruby gem that allows database entries to be
manipulated as objects.
</p>
</background>
<description>
<p>An Active Record method parameter can mistakenly be used as a scope.</p>
</description>
<impact type="low">
<p>A remote attacker could use specially crafted input to execute arbitrary
SQL statements.
</p>
</impact>
<workaround>
<p>The vulnerability may be mitigated by converting the input to an
expected value. This is accomplished by changing instances of
‘Post.find_by_id(params[:id])’ in code using Active Record to
‘Post.find_by_id(params[:id].to_s)’
</p>
</workaround>
<resolution>
<p>All Active Record users should upgrade to the latest version:</p>
<code>
# emerge --sync
# emerge --ask --oneshot --verbose "&gt;=dev-ruby/activerecord-2.3.14-r1"
</code>
</resolution>
<references>
<uri link="http://nvd.nist.gov/nvd.cfm?cvename=CVE-2012-6496">CVE-2012-6496</uri>
</references>
<metadata tag="requester" timestamp="Wed, 11 Dec 2013 02:08:41 +0000">
creffett
</metadata>
<metadata tag="submitter" timestamp="Tue, 21 Jan 2014 20:21:31 +0000">
creffett
</metadata>
</glsa>