CVE-2018-16471 json
Rack vulnerable to Cross-site Scripting
published 2018-11-13 7 y ago modified 2026-06-17 4 mo ago also GHSA-5r2p-j47h-mhpg , EUVD-2018-0731
- cvss
- 6.1
- version 3.0, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.9%
- EPSS 1.9% chance of exploitation in 30 days, percentile 79%
- public exploits
- 0
- none known
Summary
There is a possible XSS vulnerability in Rack before 2.0.6 and 1.6.11. Carefully crafted requests can impact the data returned by the `scheme` method on `Rack::Request`. Applications that expect the scheme to be limited to 'http' or 'https' and do not escape the return value could be vulnerable to an XSS attack. Note that applications using the normal escaping mechanisms provided by Rails may not impacted, but applications that bypass the escaping mechanisms, or do not use them may be vulnerable.
Patch / fix
- rubygems rack 1.6.11, 2.0.6
- rack_project rack 1.6.11, 2.0.6
- ruby-rack Debian 14, Debian 13, Debian 12 1.6.4-6
debian advisories DEBIAN-CVE-2018-16471
- ruby-rack Ubuntu 16.04 LTS 1.6.4-3ubuntu0.1
- ruby-rack Ubuntu 18.04 LTS 1.6.4-4ubuntu0.1
ubuntu advisories UBUNTU-CVE-2018-16471
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
- rubygem-rack SLE High Availability Extension 15 SP1, SLE High Availability Extension 15 2.0.8-3.3.1
- rubygem-rack OpenStack Cloud Crowbar 8, OpenStack Cloud 7, Enterprise Storage 4 1.6.11-3.3.1
suse advisories SUSE-SU-2020:0359-1SUSE-SU-2019:1440-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
- 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
- ruby3.2-rubygem-rack openSUSE Tumbleweed 3.0.7-1.2
opensuse advisories openSUSE-SU-2026:10358-1openSUSE-SU-2026:10286-1openSUSE-SU-2025:14875-1openSUSE-SU-2025:14811-1openSUSE-SU-2024:12119-1openSUSE-SU-2024:12397-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-2018-16471 updated cvss 6.1
rubygem-rack: Cross-site scripting (XSS) via `scheme` method on `Rack::Request`
-
Red Hat Software Collections rh-ror42-rubygem-rack, rh-ror50-rubygem-rack Red Hat Storage 3 rubygem-rack Red Hat Subscription Asset Manager ruby193-rubygem-rack Red Hat Update Infrastructure 3 for Cloud Providers rubygem-rackaffected: no fix planned “Will not fix”
-
Red Hat CloudForms Management Engine 5 cfme-gemset, dpus-api-service, cfme-amazon-smartstate Red Hat OpenShift Container Platform 3.2 rubygem-rack Red Hat OpenShift Container Platform 3.3 rubygem-rack Red Hat OpenShift Container Platform 3.4 rubygem-rack Red Hat OpenShift Enterprise 3.1 rubygem-rack Red Hat OpenStack Platform 8 (Liberty) Operational Tools rubygem-racknot affected: vulnerable code not present
+6 more productsfewer
Red Hat OpenStack Platform 9 (Mitaka) Operational Tools rubygem-rack Red Hat OpenStack Platform 10 (Newton) Operational Tools rubygem-rack Red Hat OpenStack Platform 12 (Pike) Operational Tools rubygem-rack Red Hat OpenStack Platform 13 (Queens) Operational Tools rubygem-rack Red Hat OpenStack Platform 14 (Rocky) Operational Tools rubygem-rack Red Hat Satellite 6 rubygem-rack, tfm-ror51-rubygem-rack
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
1.89% chance of exploitation in the next 30 days, higher than 79% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 3.0 | 6.1 | CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N |
| NVD | 2.0 | 4.3 | AV:N/AC:M/Au:N/C:N/I:P/A:N |
| GitHub | 3.0 | 6.1 | CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| rubygems | rack | >=2.0.0, <2.0.6 <1.6.11 |
2.0.6 1.6.11 |
Affected products
- Rack Rack
Classification
- Weakness
-
- CWE-79 Improper Neutralization of Input During Web Page Generation
References
-
lists.opensuse.org
/opensuse-security-announce/2019-06/msg00032.html
vendor-advisory, web
-
usn.ubuntu.com
/4089-1/
vendor-advisory
-
lists.opensuse.org
/opensuse-security-announce/2020-02/msg00016.html
vendor-advisory, web
- groups.google.com /forum/#%21topic/rubyonrails-security/GKsAFT924Ag
-
lists.debian.org
/debian-lts-announce/2018/11/msg00022.html
mailing-list, web, third-party-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2018-16471
advisory
-
github.com
/rack/rack
package
-
github.com
/rubysec/ruby-advisory-db/blob/master/gems/rack/CVE-2018-16471.yml
web
-
groups.google.com
/forum/#!topic/ruby-security-ann/NAalCee8n6o
web
-
groups.google.com
/forum/#!topic/rubyonrails-security/GKsAFT924Ag
web
-
usn.ubuntu.com
/4089-1
web
Sources
- CVE List CVE-2018-16471
- GitHub Advisory GHSA-5r2p-j47h-mhpg
- NVD CVE-2018-16471
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.