CVE-2015-7577 Active Record Improper Access Control
MediumCVSS 5.3
EPSS 4.3%
PoC
- Published
- Updated
- Exploit status
- Proof-of-concept only
Description
activerecord/lib/active_record/nested_attributes.rb in Active Record in Ruby on Rails 3.1.x and 3.2.x before 3.2.22.1, 4.0.x and 4.1.x before 4.1.14.1, 4.2.x before 4.2.5.1, and 5.x before 5.0.0.beta1.1 does not properly implement a certain destroy option, which allows remote attackers to bypass intended change restrictions by leveraging use of the nested attributes feature.
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| rubygems activerecord(RubyGems) | >= 3.1.0, <= 3.2.22.0 | No fix listed |
| rubygems activerecord(RubyGems) | >= 4.0.0, <= 4.1.14.0 | No fix listed |
| rubygems activerecord(RubyGems) | >= 4.2.0, < 4.2.5.1 | 4.2.5.1 |
| rubygems activerecord(RubyGems) | = 5.0.0.beta1 | No fix listed |
| rubygems activerecord(RubyGems) | >= 3.1.0, < 3.2.22.1 | 3.2.22.1 |
| rubygems activerecord(RubyGems) | = 3.1.0 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.1.1 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.1.1.rc1 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.1.1.rc2 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.1.1.rc3 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.1.10 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.1.11 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.1.12 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.1.2 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.1.2.rc1 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.1.2.rc2 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.1.3 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.1.4 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.1.4.rc1 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.1.5 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.1.5.rc1 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.1.6 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.1.7 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.1.8 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.1.9 | No fix listed |
Show 175 more
| Product | Affected versions | Fixed in |
|---|---|---|
| rubygems activerecord(RubyGems) | = 3.2.0 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.2.0.rc1 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.2.0.rc2 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.2.1 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.2.10 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.2.11 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.2.12 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.2.13 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.2.13.rc1 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.2.13.rc2 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.2.14 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.2.14.rc1 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.2.14.rc2 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.2.15 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.2.15.rc1 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.2.15.rc2 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.2.15.rc3 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.2.16 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.2.17 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.2.18 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.2.19 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.2.2 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.2.2.rc1 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.2.20 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.2.21 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.2.22 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.2.3 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.2.3.rc1 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.2.3.rc2 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.2.4 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.2.4.rc1 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.2.5 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.2.6 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.2.7 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.2.7.rc1 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.2.8 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.2.8.rc1 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.2.8.rc2 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.2.9 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.2.9.rc1 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.2.9.rc2 | No fix listed |
| rubygems activerecord(RubyGems) | = 3.2.9.rc3 | No fix listed |
| rubygems activerecord(RubyGems) | >= 4.0.0, < 4.1.14.1 | 4.1.14.1 |
| rubygems activerecord(RubyGems) | = 4.0.0 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.0.1 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.0.1.rc1 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.0.1.rc2 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.0.1.rc3 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.0.1.rc4 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.0.10 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.0.10.rc1 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.0.10.rc2 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.0.11 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.0.11.1 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.0.12 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.0.13 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.0.13.rc1 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.0.2 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.0.3 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.0.4 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.0.4.rc1 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.0.5 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.0.6 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.0.6.rc1 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.0.6.rc2 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.0.6.rc3 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.0.7 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.0.8 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.0.9 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.1.0 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.1.0.beta1 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.1.0.beta2 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.1.0.rc1 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.1.0.rc2 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.1.1 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.1.10 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.1.10.rc1 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.1.10.rc2 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.1.10.rc3 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.1.10.rc4 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.1.11 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.1.12 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.1.12.rc1 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.1.13 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.1.13.rc1 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.1.14 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.1.14.rc1 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.1.14.rc2 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.1.2 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.1.2.rc1 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.1.2.rc2 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.1.2.rc3 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.1.3 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.1.4 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.1.5 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.1.6 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.1.6.rc1 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.1.6.rc2 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.1.7 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.1.7.1 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.1.8 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.1.9 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.1.9.rc1 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.2.0 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.2.1 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.2.1.rc1 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.2.1.rc2 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.2.1.rc3 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.2.1.rc4 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.2.2 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.2.3 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.2.3.rc1 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.2.4 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.2.4.rc1 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.2.5 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.2.5.rc1 | No fix listed |
| rubygems activerecord(RubyGems) | = 4.2.5.rc2 | No fix listed |
| rubygems activerecord(RubyGems) | >= 5.0.0.beta1, < 5.0.0.beta1.1 | 5.0.0.beta1.1 |
| debian/rails(Debian:12) | < 2:4.2.5.1-1 | 2:4.2.5.1-1 |
| debian/rails(Debian:13) | < 2:4.2.5.1-1 | 2:4.2.5.1-1 |
| debian/rails(Debian:14) | < 2:4.2.5.1-1 | 2:4.2.5.1-1 |
| rubyonrails rails | = 4.0.0 | No fix listed |
| rubyonrails rails | = 4.0.0-beta | No fix listed |
| rubyonrails rails | = 4.0.0-rc1 | No fix listed |
| rubyonrails rails | = 4.0.0-rc2 | No fix listed |
| rubyonrails rails | = 4.0.1 | No fix listed |
| rubyonrails rails | = 4.0.1-rc1 | No fix listed |
| rubyonrails rails | = 4.0.1-rc2 | No fix listed |
| rubyonrails rails | = 4.0.1-rc3 | No fix listed |
| rubyonrails rails | = 4.0.1-rc4 | No fix listed |
| rubyonrails rails | = 4.0.2 | No fix listed |
| rubyonrails rails | = 4.0.3 | No fix listed |
| rubyonrails rails | = 4.0.4 | No fix listed |
| rubyonrails rails | = 4.0.4-rc1 | No fix listed |
| rubyonrails rails | = 4.0.5 | No fix listed |
| rubyonrails rails | = 4.0.6 | No fix listed |
| rubyonrails rails | = 4.0.6-rc1 | No fix listed |
| rubyonrails rails | = 4.0.6-rc2 | No fix listed |
| rubyonrails rails | = 4.0.6-rc3 | No fix listed |
| rubyonrails rails | = 4.0.7 | No fix listed |
| rubyonrails rails | = 4.0.8 | No fix listed |
| rubyonrails rails | = 4.0.9 | No fix listed |
| rubyonrails rails | = 4.0.10 | No fix listed |
| rubyonrails rails | = 4.0.10-rc1 | No fix listed |
| rubyonrails rails | = 4.1.0 | No fix listed |
| rubyonrails rails | = 4.1.0-beta1 | No fix listed |
| rubyonrails rails | = 4.1.0-beta2 | No fix listed |
| rubyonrails rails | = 4.1.0-rc1 | No fix listed |
| rubyonrails rails | = 4.1.0-rc2 | No fix listed |
| rubyonrails rails | = 4.1.1 | No fix listed |
| rubyonrails rails | = 4.1.2 | No fix listed |
| rubyonrails rails | = 4.1.2-rc1 | No fix listed |
| rubyonrails rails | = 4.1.2-rc2 | No fix listed |
| rubyonrails rails | = 4.1.2-rc3 | No fix listed |
| rubyonrails rails | = 4.1.3 | No fix listed |
| rubyonrails rails | = 4.1.4 | No fix listed |
| rubyonrails rails | = 4.1.5 | No fix listed |
| rubyonrails rails | = 4.1.6 | No fix listed |
| rubyonrails rails | = 4.1.6-rc1 | No fix listed |
| rubyonrails rails | = 4.1.6-rc2 | No fix listed |
| rubyonrails rails | = 4.1.7 | No fix listed |
| rubyonrails rails | = 4.1.7.1 | No fix listed |
| rubyonrails rails | = 4.1.8 | No fix listed |
| rubyonrails rails | = 4.1.9 | No fix listed |
| rubyonrails rails | = 4.1.9-rc1 | No fix listed |
| rubyonrails rails | = 4.1.10 | No fix listed |
| rubyonrails rails | = 4.1.10-rc1 | No fix listed |
| rubyonrails rails | = 4.1.10-rc2 | No fix listed |
| rubyonrails rails | = 4.1.10-rc3 | No fix listed |
| rubyonrails rails | = 4.1.10-rc4 | No fix listed |
| rubyonrails rails | = 4.1.12 | No fix listed |
| rubyonrails rails | = 4.1.12-rc1 | No fix listed |
| rubyonrails rails | = 4.1.13 | No fix listed |
| rubyonrails rails | = 4.1.13-rc1 | No fix listed |
| rubyonrails rails | = 4.1.14 | No fix listed |
References
- nvd.nist.gov third-party-advisory vendor-advisory
- FEDORA-2016-73fe05d878 vendor-advisory
- FEDORA-2016-cc465a34df vendor-advisory
- SUSE-SU-2016:1146 vendor-advisory
- openSUSE-SU-2016:0363 vendor-advisory
- openSUSE-SU-2016:0372 vendor-advisory
- RHSA-2016:0296 vendor-advisory
- DSA-3464 vendor-advisory
- [oss-security] 20160125 [CVE-2015-7577] Nested attributes rejection proc bypass in Active Record. mailing-list
- github.com exploit
- groups.google.com
- github.com
- Debian Security Tracker CVE-2015-7577 vendor-advisory
- 81806 vdb-entry
- 1034816 vdb-entry
- [ruby-security-ann] 20160125 [CVE-2015-7577] Nested attributes rejection proc bypass in Active Record. mailing-list