{"id":"GHSA-fh39-v733-mxfr","summary":"Active Record vulnerable to SQL Injection via nested query parameters","details":"The Active Record component in Ruby on Rails 3.0.x before 3.0.13, 3.1.x before 3.1.5, and 3.2.x before 3.2.4 does not properly implement the passing of request data to a where method in an ActiveRecord class, which allows remote attackers to conduct certain SQL injection attacks via nested query parameters that leverage unintended recursion, a related issue to CVE-2012-2695.","aliases":["CVE-2012-2661"],"modified":"2024-12-05T05:29:06.170986Z","published":"2017-10-24T18:33:38Z","database_specific":{"github_reviewed":true,"github_reviewed_at":"2020-06-16T21:34:40Z","nvd_published_at":"2012-06-22T14:55:01Z","cwe_ids":["CWE-89"],"severity":"MODERATE"},"references":[{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2012-2661"},{"type":"WEB","url":"https://groups.google.com/group/rubyonrails-security/msg/fc2da6c627fc92df?dmode=source&output=gplain"},{"type":"WEB","url":"http://lists.opensuse.org/opensuse-security-announce/2012-08/msg00014.html"},{"type":"WEB","url":"http://lists.opensuse.org/opensuse-security-announce/2012-08/msg00016.html"},{"type":"WEB","url":"http://lists.opensuse.org/opensuse-updates/2012-08/msg00046.html"},{"type":"WEB","url":"http://rhn.redhat.com/errata/RHSA-2013-0154.html"}],"affected":[{"package":{"name":"activerecord","ecosystem":"RubyGems","purl":"pkg:gem/activerecord"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"3.0.0"},{"fixed":"3.0.13"}]}],"versions":["3.0.0","3.0.1","3.0.10","3.0.10.rc1","3.0.11","3.0.12","3.0.12.rc1","3.0.13.rc1","3.0.2","3.0.3","3.0.4","3.0.4.rc1","3.0.5","3.0.5.rc1","3.0.6","3.0.6.rc1","3.0.6.rc2","3.0.7","3.0.7.rc1","3.0.7.rc2","3.0.8","3.0.8.rc1","3.0.8.rc2","3.0.8.rc4","3.0.9","3.0.9.rc1","3.0.9.rc3","3.0.9.rc4","3.0.9.rc5"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2017/10/GHSA-fh39-v733-mxfr/GHSA-fh39-v733-mxfr.json"}},{"package":{"name":"activerecord","ecosystem":"RubyGems","purl":"pkg:gem/activerecord"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"3.1.0"},{"fixed":"3.1.5"}]}],"versions":["3.1.0","3.1.1","3.1.1.rc1","3.1.1.rc2","3.1.1.rc3","3.1.2","3.1.2.rc1","3.1.2.rc2","3.1.3","3.1.4","3.1.4.rc1","3.1.5.rc1"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2017/10/GHSA-fh39-v733-mxfr/GHSA-fh39-v733-mxfr.json"}},{"package":{"name":"activerecord","ecosystem":"RubyGems","purl":"pkg:gem/activerecord"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"3.2.0"},{"fixed":"3.2.4"}]}],"versions":["3.2.0","3.2.1","3.2.2","3.2.2.rc1","3.2.3","3.2.3.rc1","3.2.3.rc2","3.2.4.rc1"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2017/10/GHSA-fh39-v733-mxfr/GHSA-fh39-v733-mxfr.json"}}],"schema_version":"1.9.0"}