Machine-written summary
Summary written by Claude Haiku from the source advisory. Not reviewed by a person.
Versions of the secure_headers gem before 3.8.0, from 5.0.0 before 5.1.0, and from 6.0.0 before 6.2.0 are vulnerable. If user-supplied input is passed into the dynamic override or append methods for Content Security Policy directives, an attacker can inject a semicolon and add a directive, such as overriding script-src. Upgrade to 3.8.0, 5.1.0, or 6.2.0, matching your major version. The source's workaround is to filter user input before passing it to those methods.
Not analysed yet
We haven’t published our analysis of this Advisory yet. Once a person has reviewed it, this page will say what’s vulnerable, what has to be true for your app to be affected, and how to check.
Severity and exploitation
| Score | Rating | CVSS | Vector | Source |
|---|---|---|---|---|
| 4.4 | Medium | 3.1 | CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:L/I:L/A:N | CNA (GitHub_M) |
- CISA KEV Not listed.
- EPSS 0.018, the 79th percentile, on 9 Nov 2026: FIRST’s estimate of the chance of exploitation in the next 30 days.
Timeline
- 31 Oct 2026, 15:16 UTC First seen by agentprime
- 31 Oct 2026, 15:16 UTC Confirmed by OSV
Sources
- GitHub Advisory Database: GHSA-xq52-rv6w-397c
- OSV: GHSA-xq52-rv6w-397c
- github.com/twitter/secure_headers/security/advisories/GHSA-xq52-rv6w-397c
- nvd.nist.gov/vuln/detail/CVE-2020-5217
- github.com/twitter/secure_headers/issues/418
- github.com/twitter/secure_headers/pull/421
- github.com/twitter/secure_headers/commit/936a160e3e9659737a9f9eafce13eea36b5c9fa3
- github.com/rubysec/ruby-advisory-db/blob/master/gems/secure_headers/CVE-2020-5217.yml
- github.com/twitter/secure_headers