CVE-2020-8184 json
Rack allows Percent-encoded cookies to overwrite existing prefixed cookie names
published 2020-06-19 6 y ago modified 2026-09-10 1 mo ago also GHSA-j6w9-fv6q-3q52 , EUVD-2020-0494
- cvss
- 7.5
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 3.0%
- EPSS 3.0% chance of exploitation in 30 days, percentile 87%
- public exploits
- 0
- none known
Summary
A reliance on cookies without validation/integrity check security vulnerability exists in rack < 2.2.3, rack < 2.1.4 that makes it is possible for an attacker to forge a secure or host-only cookie prefix.
Patch / fix
- rubygems rack 2.1.4, 2.2.3
- rack_project rack 2.1.4, 2.2.3
- ruby-rack Debian 14, Debian 13, Debian 12 2.1.1-6
debian advisories DEBIAN-CVE-2020-8184
- ruby-rack Ubuntu 16.04 LTS 1.6.4-3ubuntu0.2
- ruby-rack Ubuntu 18.04 LTS 1.6.4-4ubuntu0.2
- ruby-rack Ubuntu 20.04 LTS 2.0.7-2ubuntu0.1
- ruby-rack Ubuntu Pro 14.04 LTS 1.5.2-3+deb8u3ubuntu1~esm4
ubuntu advisories UBUNTU-CVE-2020-8184
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- tfm satellite capsule 6.8, satellite 6.8 6.1-1.el7sat
- kobo satellite capsule 6.8, satellite 6.8 0.5.1-1.el7sat
- pulp satellite capsule 6.8, satellite 6.8 2.21.3-1.el7sat
- gofer satellite capsule 6.8, satellite 6.8 2.12.5-7.el7sat
- future satellite capsule 6.8, satellite 6.8 0.16.0-11.el7sat
- ostree satellite capsule 6.8, satellite 6.8 2017.1-2.atomic.el7
- foreman satellite capsule 6.8, satellite 6.8 2.1.2.19-1.el7sat
- katello satellite capsule 6.8, satellite 6.8 3.16.0-1.el7sat
red hat advisories RHSA-2020:4366
- rubygem-rack SLE High Availability Extension 15 SP4, SLE High Availability Extension 15 SP3, SLE High Availability Extension 15 SP2 +4 more 2.0.8-150000.3.9.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
- rubygem-rack OpenStack Cloud Crowbar 9, OpenStack Cloud Crowbar 8, OpenStack Cloud 7 1.6.13-3.8.1
- kibana OpenStack Cloud Crowbar 9, OpenStack Cloud 9 4.6.3-4.3.2
- grafana OpenStack Cloud Crowbar 9, OpenStack Cloud 9 6.2.5-3.12.2
- ansible1 OpenStack Cloud 9 1.9.6-9.7.2
suse advisories SUSE-SU-2022:3347-1SUSE-SU-2020:3160-1SUSE-SU-2020:3147-1SUSE-SU-2020:3036-1SUSE-SU-2020:2678-1SUSE-RU-2020:2161-1
- rubygem-rack openSUSE Tumbleweed 3.1.18-1.3
- rubygem-rack-2.2 openSUSE Tumbleweed 2.2.22-1.1
- rubygem-rack openSUSE Tumbleweed 3.1.12-1.1
- rubygem-rack-2.2 openSUSE Tumbleweed 2.2.11-1.1
- rmt-server openSUSE Tumbleweed 2.6.13-1.1
- rubygem-rack openSUSE Tumbleweed 2.2.3.1-1.1
- rubygem-rack-2.2 openSUSE Tumbleweed 2.2.4-1.1
- ruby3.2-rubygem-rack-2.2 openSUSE Tumbleweed 2.2.7-1.1
opensuse advisories openSUSE-SU-2026:10358-1openSUSE-SU-2026:10286-1openSUSE-SU-2025:14875-1openSUSE-SU-2025:14811-1openSUSE-SU-2024:10589-1openSUSE-SU-2024:12119-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-8184 updated cvss 0.0
rubygem-rack: percent-encoded cookies can be used to overwrite existing prefixed cookie names
-
Red Hat CloudForms Management Engine 5 cfme-gemset, cfme-amazon-smartstateaffected: no fix planned “Will not fix”
-
Red Hat OpenStack Platform 10 (Newton) Operational Tools rubygem-rackaffected: no fix planned “Out of support scope”
-
Red Hat OpenStack Platform 13 (Queens) Operational Tools rubygem-rackaffected: no fix available “Fix deferred”
-
Red Hat Satellite 6 tfm-ror52-rubygem-rackaffected: no fix available
-
Red Hat Satellite 6.8 tfm 6.1-1.el7sat, kobo 0.5.1-1.el7sat, pulp 2.21.3-1.el7sat, gofer 2.12.5-7.el7sat, receptor 0.6.3-1.el7ar, future 0.16.0-11.el7sat, +488 more Red Hat Satellite Capsule 6.8 tfm 6.1-1.el7sat, kobo 0.5.1-1.el7sat, pulp 2.21.3-1.el7sat, gofer 2.12.5-7.el7sat, future 0.16.0-11.el7sat, katello 3.16.0-1.el7sat, +232 morefixed: vendor fix RHSA-2020:4366
-
Red Hat Enterprise Linux 9 rubygem-rack Red Hat Storage 3 rubygem-racknot 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
Exploit prediction
3.01% chance of exploitation in the next 30 days, higher than 87% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- hackerone.com https://hackerone.com/reports/895727 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N |
| NVD | 2.0 | 5.0 | AV:N/AC:L/Au:N/C:N/I:P/A:N |
| GitHub | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| rubygems | rack | <2.1.4 >=2.2.0, <2.2.3 |
2.1.4 2.2.3 |
Affected products
- n/a https://github.com/rack/rack
Classification
References
-
hackerone.com
/reports/895727
web, exploit, patch, third-party-advisory
-
groups.google.com
/g/rubyonrails-security/c/OWtmozPH9Ak
web, mailing-list, patch, third-party-advisory
-
github.com
/rack/rack/commit/1f5763de6a9fe515ff84992b343d63c88104654c
web
-
usn.ubuntu.com
/4561-1/
vendor-advisory, third-party-advisory
-
lists.debian.org
/debian-lts-announce/2020/07/msg00006.html
mailing-list, web, third-party-advisory
-
lists.debian.org
/debian-lts-announce/2023/01/msg00038.html
mailing-list, web, third-party-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2020-8184
advisory
-
github.com
/rack/rack
package
-
github.com
/rubysec/ruby-advisory-db/blob/master/gems/rack/CVE-2020-8184.yml
web
-
usn.ubuntu.com
/4561-1
web
Sources
- CVE List CVE-2020-8184
- GitHub Advisory GHSA-j6w9-fv6q-3q52
- NVD CVE-2020-8184
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.