SQL injection vulnerability in the Active Record component in Ruby on Rails before 3.0.18, 3.1.x before 3.1.9, and 3.2.x before 3.2.10 allows remote attackers to execute arbitrary SQL commands via a crafted request that leverages incorrect behavior of dynamic finders in applications that can use unexpected data types in certain find_by_ method calls.
The product constructs all or part of an SQL command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended SQL command when it is sent to a downstream component.
Name | Vendor | Start Version | End Version |
---|---|---|---|
Rails | Rubyonrails | 3.1.0 (including) | 3.1.0 (including) |
Rails | Rubyonrails | 3.1.0-beta1 (including) | 3.1.0-beta1 (including) |
Rails | Rubyonrails | 3.1.0-rc1 (including) | 3.1.0-rc1 (including) |
Rails | Rubyonrails | 3.1.0-rc2 (including) | 3.1.0-rc2 (including) |
Rails | Rubyonrails | 3.1.0-rc3 (including) | 3.1.0-rc3 (including) |
Rails | Rubyonrails | 3.1.0-rc4 (including) | 3.1.0-rc4 (including) |
Rails | Rubyonrails | 3.1.0-rc5 (including) | 3.1.0-rc5 (including) |
Rails | Rubyonrails | 3.1.0-rc6 (including) | 3.1.0-rc6 (including) |
Rails | Rubyonrails | 3.1.0-rc7 (including) | 3.1.0-rc7 (including) |
Rails | Rubyonrails | 3.1.0-rc8 (including) | 3.1.0-rc8 (including) |
Rails | Rubyonrails | 3.1.1 (including) | 3.1.1 (including) |
Rails | Rubyonrails | 3.1.1-rc1 (including) | 3.1.1-rc1 (including) |
Rails | Rubyonrails | 3.1.1-rc2 (including) | 3.1.1-rc2 (including) |
Rails | Rubyonrails | 3.1.1-rc3 (including) | 3.1.1-rc3 (including) |
Rails | Rubyonrails | 3.1.2 (including) | 3.1.2 (including) |
Rails | Rubyonrails | 3.1.2-rc1 (including) | 3.1.2-rc1 (including) |
Rails | Rubyonrails | 3.1.2-rc2 (including) | 3.1.2-rc2 (including) |
Rails | Rubyonrails | 3.1.3 (including) | 3.1.3 (including) |
Rails | Rubyonrails | 3.1.4 (including) | 3.1.4 (including) |
Rails | Rubyonrails | 3.1.4-rc1 (including) | 3.1.4-rc1 (including) |
Rails | Rubyonrails | 3.1.5 (including) | 3.1.5 (including) |
Rails | Rubyonrails | 3.1.5-rc1 (including) | 3.1.5-rc1 (including) |
Rails | Rubyonrails | 3.1.6 (including) | 3.1.6 (including) |
Rails | Rubyonrails | 3.1.7 (including) | 3.1.7 (including) |
Rails | Rubyonrails | 3.1.8 (including) | 3.1.8 (including) |
CloudForms for RHEL 6 | RedHat | rubygem-actionpack-1:3.0.10-11.el6cf | * |
CloudForms for RHEL 6 | RedHat | rubygem-activerecord-1:3.0.10-8.el6cf | * |
CloudForms for RHEL 6 | RedHat | rubygem-activesupport-1:3.0.10-5.el6cf | * |
Red Hat Subscription Asset Manager 1.1 | RedHat | rubygem-actionpack-1:3.0.10-11.el6cf | * |
Red Hat Subscription Asset Manager 1.1 | RedHat | rubygem-activerecord-1:3.0.10-8.el6cf | * |
Red Hat Subscription Asset Manager 1.1 | RedHat | rubygem-activesupport-1:3.0.10-5.el6cf | * |
RHEL 6 Version of OpenShift Enterprise | RedHat | jenkins-0:1.498-1.1.el6op | * |
RHEL 6 Version of OpenShift Enterprise | RedHat | mongodb-0:2.0.2-6.el6op | * |
RHEL 6 Version of OpenShift Enterprise | RedHat | openshift-console-0:0.0.13-2.el6op | * |
RHEL 6 Version of OpenShift Enterprise | RedHat | openshift-origin-broker-0:1.0.10-1.el6op | * |
RHEL 6 Version of OpenShift Enterprise | RedHat | openshift-origin-broker-util-0:1.0.14-1.el6op | * |
RHEL 6 Version of OpenShift Enterprise | RedHat | openshift-origin-cartridge-haproxy-1.4-0:1.0.3-1.el6op | * |
RHEL 6 Version of OpenShift Enterprise | RedHat | openshift-origin-cartridge-ruby-1.8-0:1.0.5-1.el6op | * |
RHEL 6 Version of OpenShift Enterprise | RedHat | openshift-origin-cartridge-ruby-1.9-scl-0:1.0.5-1.el6op | * |
RHEL 6 Version of OpenShift Enterprise | RedHat | openshift-origin-msg-node-mcollective-0:1.0.2-1.el6op | * |
RHEL 6 Version of OpenShift Enterprise | RedHat | openshift-origin-node-util-0:1.0.7-1.el6op | * |
RHEL 6 Version of OpenShift Enterprise | RedHat | openshift-origin-port-proxy-0:1.0.3-1.el6op | * |
RHEL 6 Version of OpenShift Enterprise | RedHat | rhc-0:1.3.2-1.3.el6op | * |
RHEL 6 Version of OpenShift Enterprise | RedHat | ruby193-rubygem-activerecord-1:3.2.8-2.el6 | * |
RHEL 6 Version of OpenShift Enterprise | RedHat | ruby193-rubygem-passenger-0:3.0.12-21.el6op | * |
RHEL 6 Version of OpenShift Enterprise | RedHat | rubygem-activerecord-1:3.0.13-3.el6op | * |
RHEL 6 Version of OpenShift Enterprise | RedHat | rubygem-openshift-origin-auth-remote-user-0:1.0.4-2.el6op | * |
RHEL 6 Version of OpenShift Enterprise | RedHat | rubygem-openshift-origin-common-0:1.0.2-1.el6op | * |
RHEL 6 Version of OpenShift Enterprise | RedHat | rubygem-openshift-origin-console-0:1.0.6-1.el6op | * |
RHEL 6 Version of OpenShift Enterprise | RedHat | rubygem-openshift-origin-controller-0:1.0.11-1.el6op | * |
RHEL 6 Version of OpenShift Enterprise | RedHat | rubygem-openshift-origin-dns-bind-0:1.0.2-1.el6op | * |
RHEL 6 Version of OpenShift Enterprise | RedHat | rubygem-openshift-origin-msg-broker-mcollective-0:1.0.4-1.el6op | * |
RHEL 6 Version of OpenShift Enterprise | RedHat | rubygem-openshift-origin-node-0:1.0.10-6.el6op | * |
Rails | Ubuntu | hardy | * |
Rails | Ubuntu | lucid | * |
Rails | Ubuntu | upstream | * |
Ruby-activerecord-2.3 | Ubuntu | oneiric | * |
Ruby-activerecord-2.3 | Ubuntu | precise | * |
Ruby-activerecord-2.3 | Ubuntu | quantal | * |
Ruby-activerecord-2.3 | Ubuntu | raring | * |
Ruby-activerecord-2.3 | Ubuntu | saucy | * |
Ruby-activerecord-2.3 | Ubuntu | upstream | * |
Ruby-activerecord-3.2 | Ubuntu | quantal | * |
Ruby-activerecord-3.2 | Ubuntu | raring | * |
Ruby-activerecord-3.2 | Ubuntu | upstream | * |
Without sufficient removal or quoting of SQL syntax in user-controllable inputs, the generated SQL query can cause those inputs to be interpreted as SQL instead of ordinary user data. This can be used to alter query logic to bypass security checks, or to insert additional statements that modify the back-end database, possibly including execution of system commands. SQL injection has become a common issue with database-driven web sites. The flaw is easily detected, and easily exploited, and as such, any site or product package with even a minimal user base is likely to be subject to an attempted attack of this kind. This flaw depends on the fact that SQL makes no real distinction between the control and data planes.