secure_headers up to 3.7.x/5.0.x/6.1.x override_content_security_policy_directives SecureHeaders::OPT_OUT eval injection
| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 4.6 | $0-$5k | 0.00 |
Summary
A vulnerability classified as critical was found in secure_headers up to 3.7.x/5.0.x/6.1.x. This issue affects the function SecureHeaders::OPT_OUT of the file append/override_content_security_policy_directives. Executing a manipulation can lead to eval injection.
This vulnerability is handled as CVE-2020-5217. The attack can be executed remotely. There is not any exploit available.
Upgrading the affected component is advised.
Details
A vulnerability has been found in secure_headers up to 3.7.x/5.0.x/6.1.x and classified as critical. This vulnerability affects the function SecureHeaders::OPT_OUT of the file append/override_content_security_policy_directives. The manipulation with an unknown input leads to a eval injection vulnerability. The CWE definition for the vulnerability is CWE-95. The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes code syntax before using the input in a dynamic evaluation call (e.g. "eval"). As an impact it is known to affect confidentiality, integrity, and availability. CVE summarizes:
In Secure Headers (RubyGem secure_headers), a directive injection vulnerability is present in versions before 3.8.0, 5.1.0, and 6.2.0. If user-supplied input was passed into append/override_content_security_policy_directives, a semicolon could be injected leading to directive injection. This could be used to e.g. override a script-src directive. Duplicate directives are ignored and the first one wins. The directives in secure_headers are sorted alphabetically so they pretty much all come before script-src. A previously undefined directive would receive a value even if SecureHeaders::OPT_OUT was supplied. The fixed versions will silently convert the semicolons to spaces and emit a deprecation warning when this happens. This will result in innocuous browser console messages if being exploited/accidentally used. In future releases, we will raise application errors resulting in 500s. Depending on what major version you are using, the fixed versions are 6.2.0, 5.1.0, 3.8.0.
The weakness was released 01/23/2020 (GitHub Repository). The advisory is shared for download at github.com. This vulnerability was named CVE-2020-5217 since 01/02/2020. The exploitation appears to be difficult. The attack can be initiated remotely. The successful exploitation requires a single authentication. Successful exploitation requires user interaction by the victim. There are known technical details, but no exploit is available.
Upgrading to version 3.8.0, 5.1.0 or 6.2.0 eliminates this vulnerability.
VulDB is the best source for vulnerability data and more expert information about this specific topic.
Product
Name
Version
License
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔍VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 4.8VulDB Meta Temp Score: 4.6
VulDB Base Score: 5.5
VulDB Temp Score: 4.9
VulDB Vector: 🔍
VulDB Reliability: 🔍
NVD Base Score: 4.4
NVD Vector: 🔍
CNA Base Score: 4.4
CNA Vector (GitHub, Inc.): 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexity | Authentication | Confidentiality | Integrity | Availability |
|---|---|---|---|---|---|
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Reliability: 🔍
NVD Base Score: 🔍
Exploiting
Class: Eval injectionCWE: CWE-95 / CWE-94 / CWE-74
CAPEC: 🔍
ATT&CK: 🔍
Physical: No
Local: No
Remote: Yes
Availability: 🔍
Status: Not defined
EPSS Score: 🔍
EPSS Percentile: 🔍
Price Prediction: 🔍
Current Price Estimation: 🔍
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: UpgradeStatus: 🔍
0-Day Time: 🔍
Upgrade: secure_headers 3.8.0/5.1.0/6.2.0
Patch: github.com
Timeline
01/02/2020 🔍01/23/2020 🔍
01/24/2020 🔍
03/25/2024 🔍
Sources
Advisory: 936a160e3e9659737a9f9eafce13eea36b5c9fa3Status: Not defined
CVE: CVE-2020-5217 (🔍)
GCVE (CVE): GCVE-0-2020-5217
GCVE (VulDB): GCVE-100-149296
Entry
Created: 01/24/2020 09:02Updated: 03/25/2024 17:22
Changes: 01/24/2020 09:02 (39), 01/24/2020 09:07 (11), 03/25/2024 17:15 (18), 03/25/2024 17:22 (20)
Complete: 🔍
Cache ID: 216::103
VulDB is the best source for vulnerability data and more expert information about this specific topic.
No comments yet. Languages: en.
Please log in to comment.