CVE-2020-8166 json
Ability to forge per-form CSRF tokens in Rails
published 2020-05-26 6 y ago modified 2026-06-17 4 mo ago also GHSA-jp5v-5gx4-jmj9 , EUVD-2020-0429
- cvss
- 4.3
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.7%
- EPSS 1.7% chance of exploitation in 30 days, percentile 76%
- public exploits
- 0
- none known
Summary
A CSRF forgery vulnerability exists in rails < 5.2.5, rails < 6.0.4 that makes it possible for an attacker to, given a global CSRF token such as the one present in the authenticity_token meta tag, forge a per-form CSRF token.
Patch / fix
- rubygems actionpack 5.2.4.3, 6.0.3.1
- rubyonrails rails 5.2.4.3, 6.0.3.1
- rails Debian 14, Debian 13, Debian 12 2:5.2.4.3+dfsg-1
debian advisories DEBIAN-CVE-2020-8166
- tfm satellite capsule 6.9, satellite 6.9 6.1-4.el7sat
- kobo satellite capsule 6.9, satellite 6.9 0.5.1-1.el7sat
- pulp satellite capsule 6.9, satellite 6.9 2.21.5-2.el7sat
- gofer satellite capsule 6.9, satellite 6.9 2.12.5-7.el7sat
- future satellite capsule 6.9, satellite 6.9 0.16.0-11.el7sat
- ostree satellite capsule 6.9, satellite 6.9 2017.1-2.atomic.el7
- foreman satellite capsule 6.9, satellite 6.9 2.3.1.20-1.el7sat
- katello satellite capsule 6.9, satellite 6.9 3.18.1-3.el7sat
red hat advisories RHSA-2021:1313
- rubygem-actionpack-5_1 SLE High Availability Extension 15 SP5, SLE High Availability Extension 15 SP4, SLE High Availability Extension 15 SP3 +4 more 5.1.4-150000.3.29.1
- rmt-server SLE Module for Server Applications 15 SP1, SLE Module for Public Cloud 15 SP1 2.6.5-3.18.1
- rmt-server SLES for SAP 15, SLES 15-LTSS, SLE High Performance Computing 15-LTSS +1 more 2.6.5-3.34.1
- rmt-server SLE Module for Server Applications 15 SP2, SLE Module for Public Cloud 15 SP2 2.6.5-3.3.1
suse advisories SUSE-SU-2024:0103-1SUSE-SU-2020:3160-1SUSE-SU-2020:3147-1SUSE-SU-2020:3036-1
- rmt-server openSUSE Tumbleweed 2.6.13-1.1
- rubygem-actionpack-6.0 openSUSE Tumbleweed 6.0.4.4-1.1
- rmt-server openSUSE Leap 15.1 2.6.5-lp151.2.18.2
- rmt-server openSUSE Leap 15.2 2.6.5-lp152.2.3.1
opensuse advisories openSUSE-SU-2024:10589-1openSUSE-SU-2024:11821-1openSUSE-SU-2020:2000-1openSUSE-SU-2020:1993-1
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2020-8166 updated cvss 0.0
rubygem-actionpack: ability to forge per-form CSRF tokens given a global CSRF token
-
Red Hat CloudForms Management Engine 5 cfme-gemsetaffected: no fix planned “Will not fix”
-
Red Hat Satellite 6.9 tfm 6.1-4.el7sat, kobo 0.5.1-1.el7sat, pulp 2.21.5-2.el7sat, gofer 2.12.5-7.el7sat, libsolv 0.7.12-2.el7pc, receptor 0.6.3-1.el7ar, +646 more Red Hat Satellite Capsule 6.9 tfm 6.1-4.el7sat, kobo 0.5.1-1.el7sat, pulp 2.21.5-2.el7sat, gofer 2.12.5-7.el7sat, libsolv 0.7.12-2.el7pc, future 0.16.0-11.el7sat, +254 morefixed: vendor fix RHSA-2021:1313
-
Red Hat CloudForms Management Engine 5 cfme-amazon-smartstatenot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- 6 mo ago
Exploit prediction
1.67% chance of exploitation in the next 30 days, higher than 76% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- hackerone.com https://hackerone.com/reports/732415 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CISA ADP | 3.1 | 4.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N |
| NVD | 3.1 | 4.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N |
| CNA | 3.1 | 4.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N |
| NVD | 2.0 | 4.3 | AV:N/AC:M/Au:N/C:N/I:P/A:N |
| GitHub | 3.1 | 4.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| rubygems | actionpack | >=5.0.0, <5.2.4.3 >=6.0.0, <6.0.3.1 |
5.2.4.3 6.0.3.1 |
Affected products
- n/a https://github.com/rails/rails
Classification
- Weakness
-
- CWE-352 Cross-Site Request Forgery
- Technology feeds
References
-
groups.google.com
/g/rubyonrails-security/c/NOjKiGeXUgw
web, mailing-list, patch, third-party-advisory
-
hackerone.com
/reports/732415
exploit, web, third-party-advisory
-
debian.org
/security/2020/dsa-4766
vendor-advisory, web, third-party-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2020-8166
advisory
-
github.com
/rails/rails
package
-
github.com
/rubysec/ruby-advisory-db/blob/master/gems/actionpack/CVE-2020-8166.yml
web
-
groups.google.com
/forum/#!topic/rubyonrails-security/NOjKiGeXUgw
web
Sources
- CVE List CVE-2020-8166
- GitHub Advisory GHSA-jp5v-5gx4-jmj9
- NVD CVE-2020-8166
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.