<?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>2014-01-21</announced>
  <revised count="1">2014-01-21</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="https://nvd.nist.gov/nvd.cfm?cvename=CVE-2012-6496">CVE-2012-6496</uri>
  </references>
  <metadata tag="requester" timestamp="2013-12-11T02:08:41Z">
    creffett
  </metadata>
  <metadata tag="submitter" timestamp="2014-01-21T20:21:31Z">
    creffett
  </metadata>
</glsa>
