📂 Vulnerable Library - babel-jest-26.6.3.tgz
Jest plugin to use babel for transformation.
Findings
| Finding |
Severity |
🎯 CVSS |
Exploit Maturity |
EPSS |
Library |
Type |
Fixed in |
Remediation Available |
Reachability |
| CVE-121740-819191 |
🟣 Critical |
9.8 |
N/A |
N/A |
lodash-4.17.21.tgz |
Transitive |
N/A |
❌ |
|
| CVE-2022-3517 |
🔴 High |
8.7 |
Not Defined |
< 1% |
minimatch-3.0.4.tgz |
Transitive |
N/A |
❌ |
Reachable |
| CVE-2022-38900 |
🔴 High |
8.7 |
Not Defined |
< 1% |
decode-uri-component-0.2.0.tgz |
Transitive |
N/A |
❌ |
Reachable |
| CVE-2024-4068 |
🔴 High |
8.7 |
Not Defined |
< 1% |
braces-2.3.2.tgz |
Transitive |
N/A |
❌ |
Unreachable |
| CVE-2022-46175 |
🟠 Medium |
6.1 |
Not Defined |
40.5% |
json5-2.2.0.tgz |
Transitive |
N/A |
❌ |
Unreachable |
| CVE-2022-46175 |
🟠 Medium |
6.1 |
Not Defined |
40.5% |
json5-2.2.1.tgz |
Transitive |
N/A |
❌ |
Unreachable |
Details
🟣CVE-121740-819191
Vulnerable Library - lodash-4.17.21.tgz
Lodash modular utilities.
Library home page: https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz
Dependency Hierarchy:
-
workbox-webpack-plugin-6.5.3.tgz (Root Library)
- workbox-build-6.5.3.tgz
- ❌ lodash-4.17.21.tgz (Vulnerable Library)
-
babel-preset-react-app-10.0.0.tgz (Root Library)
- preset-env-7.12.1.tgz
- preset-modules-0.1.4.tgz
- types-7.13.0.tgz
- ❌ lodash-4.17.21.tgz (Vulnerable Library)
-
optimize-css-assets-webpack-plugin-6.0.1.tgz (Root Library)
- last-call-webpack-plugin-3.0.0.tgz
- ❌ lodash-4.17.21.tgz (Vulnerable Library)
-
babel-eslint-10.1.0.tgz (Root Library)
- traverse-7.13.0.tgz
- ❌ lodash-4.17.21.tgz (Vulnerable Library)
-
jest-26.6.0.tgz (Root Library)
- core-26.6.3.tgz
- jest-config-26.6.3.tgz
- jest-environment-jsdom-26.6.2.tgz
- jsdom-16.5.1.tgz
- request-promise-native-1.0.9.tgz
- request-promise-core-1.1.4.tgz
- ❌ lodash-4.17.21.tgz (Vulnerable Library)
-
styled-components-5.2.1.tgz (Root Library)
- babel-plugin-styled-components-1.12.0.tgz
- ❌ lodash-4.17.21.tgz (Vulnerable Library)
-
jest-dom-5.11.9.tgz (Root Library)
- ❌ lodash-4.17.21.tgz (Vulnerable Library)
-
html-webpack-plugin-4.5.0.tgz (Root Library)
- ❌ lodash-4.17.21.tgz (Vulnerable Library)
-
jest-circus-26.6.0.tgz (Root Library)
- traverse-7.13.0.tgz
- ❌ lodash-4.17.21.tgz (Vulnerable Library)
-
eslint-plugin-flowtype-5.2.0.tgz (Root Library)
- ❌ lodash-4.17.21.tgz (Vulnerable Library)
-
eslint-plugin-testing-library-3.10.1.tgz (Root Library)
- experimental-utils-3.10.1.tgz
- typescript-estree-3.10.1.tgz
- ❌ lodash-4.17.21.tgz (Vulnerable Library)
-
jest-dom-5.11.6.tgz (Root Library)
- ❌ lodash-4.17.21.tgz (Vulnerable Library)
-
eslint-7.22.0.tgz (Root Library)
- ❌ lodash-4.17.21.tgz (Vulnerable Library)
-
eslint-plugin-4.17.0.tgz (Root Library)
- ❌ lodash-4.17.21.tgz (Vulnerable Library)
-
eslint-plugin-flowtype-5.3.1.tgz (Root Library)
- ❌ lodash-4.17.21.tgz (Vulnerable Library)
-
core-7.12.3.tgz (Root Library)
- ❌ lodash-4.17.21.tgz (Vulnerable Library)
-
react-graph-vis-1.0.7.tgz (Root Library)
- ❌ lodash-4.17.21.tgz (Vulnerable Library)
-
parser-4.8.1.tgz (Root Library)
- typescript-estree-4.8.1.tgz
- ❌ lodash-4.17.21.tgz (Vulnerable Library)
-
eslint-7.14.0.tgz (Root Library)
- eslintrc-0.2.1.tgz
- ❌ lodash-4.17.21.tgz (Vulnerable Library)
-
webpack-manifest-plugin-2.2.0.tgz (Root Library)
- ❌ lodash-4.17.21.tgz (Vulnerable Library)
-
babel-jest-26.6.3.tgz (Root Library)
- babel-preset-jest-26.6.2.tgz
- babel-plugin-jest-hoist-26.6.2.tgz
- types-7.13.0.tgz
- ❌ lodash-4.17.21.tgz (Vulnerable Library)
Vulnerability Details
Created automatically by the test suite
Publish Date: Jun 07, 2010 05:12 PM
URL: CVE-121740-819191
Threat Assessment
Exploit Maturity:N/A
EPSS:N/A
Score: 9.8
Suggested Fix
Type: Upgrade version
Origin:
Release Date:
Fix Resolution :
🔴CVE-2022-3517
Vulnerable Library - minimatch-3.0.4.tgz
a glob matcher in javascript
Library home page: https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz
Dependency Hierarchy:
-
workbox-webpack-plugin-6.5.3.tgz (Root Library)
- workbox-build-6.5.3.tgz
- rollup-plugin-off-main-thread-2.2.3.tgz
- ejs-3.1.8.tgz
- jake-10.8.5.tgz
- ❌ minimatch-3.0.4.tgz (Vulnerable Library)
-
jest-circus-29.1.2.tgz (Root Library)
- jest-runtime-29.1.2.tgz
- glob-7.1.6.tgz
- ❌ minimatch-3.0.4.tgz (Vulnerable Library)
-
eslint-7.22.0.tgz (Root Library)
- eslintrc-0.4.0.tgz
- ❌ minimatch-3.0.4.tgz (Vulnerable Library)
-
terser-webpack-plugin-4.2.3.tgz (Root Library)
- cacache-15.0.5.tgz
- glob-7.1.6.tgz
- ❌ minimatch-3.0.4.tgz (Vulnerable Library)
-
react-dev-utils-12.0.1.tgz (Root Library)
- recursive-readdir-2.2.2.tgz
- ❌ minimatch-3.0.4.tgz (Vulnerable Library)
-
jest-26.6.0.tgz (Root Library)
- core-26.6.3.tgz
- jest-config-26.6.3.tgz
- glob-7.1.6.tgz
- ❌ minimatch-3.0.4.tgz (Vulnerable Library)
-
eslint-plugin-import-2.22.1.tgz (Root Library)
- ❌ minimatch-3.0.4.tgz (Vulnerable Library)
-
eslint-7.14.0.tgz (Root Library)
- eslintrc-0.2.1.tgz
- ❌ minimatch-3.0.4.tgz (Vulnerable Library)
-
jest-circus-26.6.0.tgz (Root Library)
- jest-runtime-26.6.3.tgz
- glob-7.1.6.tgz
- ❌ minimatch-3.0.4.tgz (Vulnerable Library)
-
babel-jest-26.6.3.tgz (Root Library)
- babel-plugin-istanbul-6.0.0.tgz
- test-exclude-6.0.0.tgz
- ❌ minimatch-3.0.4.tgz (Vulnerable Library)
Reachability Analysis
This vulnerability is potentially reachable:
Vulnerability Details
A vulnerability was found in the minimatch package. This flaw allows a Regular Expression Denial of Service (ReDoS) when calling the braceExpand function with specific arguments, resulting in a Denial of Service.
Publish Date: Oct 17, 2022 12:00 AM
URL: CVE-2022-3517
Threat Assessment
Exploit Maturity:Not Defined
EPSS:< 1%
Score: 8.7
Suggested Fix
Type: Upgrade version
Origin: GHSA-f8q6-p94x-37v3
Release Date: Oct 17, 2022 12:00 AM
Fix Resolution : minimatch - 3.0.5
🔴CVE-2022-38900
Vulnerable Library - decode-uri-component-0.2.0.tgz
A better decodeURIComponent
Library home page: https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz
Dependency Hierarchy:
-
jest-26.6.0.tgz (Root Library)
- core-26.6.3.tgz
- jest-haste-map-26.6.2.tgz
- sane-4.1.0.tgz
- micromatch-3.1.10.tgz
- snapdragon-0.8.2.tgz
- source-map-resolve-0.5.3.tgz
- ❌ decode-uri-component-0.2.0.tgz (Vulnerable Library)
-
jest-dom-5.11.9.tgz (Root Library)
- css-3.0.0.tgz
- source-map-resolve-0.6.0.tgz
- ❌ decode-uri-component-0.2.0.tgz (Vulnerable Library)
-
resolve-url-loader-3.1.4.tgz (Root Library)
- rework-1.0.1.tgz
- css-2.2.4.tgz
- source-map-resolve-0.5.3.tgz
- ❌ decode-uri-component-0.2.0.tgz (Vulnerable Library)
-
babel-jest-26.6.3.tgz (Root Library)
- transform-26.6.2.tgz
- jest-haste-map-26.6.2.tgz
- sane-4.1.0.tgz
- micromatch-3.1.10.tgz
- snapdragon-0.8.2.tgz
- source-map-resolve-0.5.3.tgz
- ❌ decode-uri-component-0.2.0.tgz (Vulnerable Library)
-
jest-dom-5.11.6.tgz (Root Library)
- css-3.0.0.tgz
- source-map-resolve-0.6.0.tgz
- ❌ decode-uri-component-0.2.0.tgz (Vulnerable Library)
Reachability Analysis
This vulnerability is potentially reachable:
Vulnerability Details
decode-uri-component 0.2.0 is vulnerable to Improper Input Validation resulting in DoS.
Publish Date: Nov 28, 2022 12:00 AM
URL: CVE-2022-38900
Threat Assessment
Exploit Maturity:Not Defined
EPSS:< 1%
Score: 8.7
Suggested Fix
Type: Upgrade version
Origin:
Release Date:
Fix Resolution :
🔴CVE-2024-4068
Vulnerable Library - braces-2.3.2.tgz
Bash-like brace expansion, implemented in JavaScript. Safer than other brace expansion libs, with complete support for the Bash 4.3 braces specification, without sacrificing speed.
Library home page: https://registry.npmjs.org/braces/-/braces-2.3.2.tgz
Dependency Hierarchy:
Reachability Analysis
The vulnerable code is unreachable
Vulnerability Details
The NPM package "braces", versions prior to 3.0.3, fails to limit the number of characters it can handle, which could lead to Memory Exhaustion. In "lib/parse.js," if a malicious user sends "imbalanced braces" as input, the parsing will enter a loop, which will cause the program to start allocating heap memory without freeing it at any moment of the loop. Eventually, the JavaScript heap limit is reached, and the program will crash. After conducting a further research, it was concluded that CVE-2024-4068 does not contain a high security risk that reflects the NVD score, but should be kept for users' awareness. Users of braces should follow the fix recommendation as noted.
Publish Date: May 13, 2024 10:06 AM
URL: CVE-2024-4068
Threat Assessment
Exploit Maturity:Not Defined
EPSS:< 1%
Score: 8.7
Suggested Fix
Type: Upgrade version
Origin: GHSA-grv7-fg5c-xmjg
Release Date: May 13, 2024 10:06 AM
Fix Resolution : braces - 3.0.3
🟠CVE-2022-46175
Vulnerable Library - json5-2.2.0.tgz
JSON for humans.
Library home page: https://registry.npmjs.org/json5/-/json5-2.2.0.tgz
Dependency Hierarchy:
-
workbox-webpack-plugin-6.5.3.tgz (Root Library)
- workbox-build-6.5.3.tgz
- rollup-plugin-off-main-thread-2.2.3.tgz
- ❌ json5-2.2.0.tgz (Vulnerable Library)
-
react-refresh-webpack-plugin-0.5.7.tgz (Root Library)
- loader-utils-2.0.2.tgz
- ❌ json5-2.2.0.tgz (Vulnerable Library)
-
core-7.12.3.tgz (Root Library)
- ❌ json5-2.2.0.tgz (Vulnerable Library)
-
babel-jest-26.6.3.tgz (Root Library)
- babel-plugin-istanbul-6.0.0.tgz
- istanbul-lib-instrument-4.0.3.tgz
- core-7.12.3.tgz
- ❌ json5-2.2.0.tgz (Vulnerable Library)
Reachability Analysis
The vulnerable code is unreachable
Vulnerability Details
JSON5 is an extension to the popular JSON file format that aims to be easier to write and maintain by hand (e.g. for config files). The "parse" method of the JSON5 library before and including versions 1.0.1 and 2.2.1 does not restrict parsing of keys named "proto", allowing specially crafted strings to pollute the prototype of the resulting object. This vulnerability pollutes the prototype of the object returned by "JSON5.parse" and not the global Object prototype, which is the commonly understood definition of Prototype Pollution. However, polluting the prototype of a single object can have significant security impact for an application if the object is later used in trusted operations. This vulnerability could allow an attacker to set arbitrary and unexpected keys on the object returned from "JSON5.parse". The actual impact will depend on how applications utilize the returned object and how they filter unwanted keys, but could include denial of service, cross-site scripting, elevation of privilege, and in extreme cases, remote code execution. "JSON5.parse" should restrict parsing of "proto" keys when parsing JSON strings to objects. As a point of reference, the "JSON.parse" method included in JavaScript ignores "proto" keys. Simply changing "JSON5.parse" to "JSON.parse" in the examples above mitigates this vulnerability. This vulnerability is patched in json5 versions 1.0.2, 2.2.2, and later.
Mend Note: The description of this vulnerability differs from MITRE.
Publish Date: Dec 24, 2022 12:00 AM
URL: CVE-2022-46175
Threat Assessment
Exploit Maturity:Not Defined
EPSS:40.5%
Score: 6.1
Suggested Fix
Type: Upgrade version
Origin: GHSA-9c47-m6qq-7p4h
Release Date: Dec 24, 2022 12:00 AM
Fix Resolution : json5 - 1.0.2,json5 - 2.2.2
🟠CVE-2022-46175
Vulnerable Library - json5-2.2.1.tgz
JSON for humans.
Library home page: https://registry.npmjs.org/json5/-/json5-2.2.1.tgz
Dependency Hierarchy:
-
workbox-webpack-plugin-6.5.3.tgz (Root Library)
- workbox-build-6.5.3.tgz
- rollup-plugin-off-main-thread-2.2.3.tgz
- ❌ json5-2.2.1.tgz (Vulnerable Library)
-
jest-circus-29.1.2.tgz (Root Library)
- jest-snapshot-29.1.2.tgz
- core-7.19.3.tgz
- ❌ json5-2.2.1.tgz (Vulnerable Library)
-
react-refresh-webpack-plugin-0.5.7.tgz (Root Library)
- loader-utils-2.0.0.tgz
- ❌ json5-2.2.1.tgz (Vulnerable Library)
-
core-7.12.3.tgz (Root Library)
- ❌ json5-2.2.1.tgz (Vulnerable Library)
-
webpack-6.2.1.tgz (Root Library)
- core-7.18.0.tgz
- ❌ json5-2.2.1.tgz (Vulnerable Library)
-
jest-29.1.2.tgz (Root Library)
- core-29.1.2.tgz
- reporters-29.1.2.tgz
- istanbul-lib-instrument-5.2.1.tgz
- core-7.19.3.tgz
- ❌ json5-2.2.1.tgz (Vulnerable Library)
-
babel-jest-26.6.3.tgz (Root Library)
- transform-26.6.2.tgz
- core-7.12.3.tgz
- ❌ json5-2.2.1.tgz (Vulnerable Library)
Reachability Analysis
The vulnerable code is unreachable
Vulnerability Details
JSON5 is an extension to the popular JSON file format that aims to be easier to write and maintain by hand (e.g. for config files). The "parse" method of the JSON5 library before and including versions 1.0.1 and 2.2.1 does not restrict parsing of keys named "proto", allowing specially crafted strings to pollute the prototype of the resulting object. This vulnerability pollutes the prototype of the object returned by "JSON5.parse" and not the global Object prototype, which is the commonly understood definition of Prototype Pollution. However, polluting the prototype of a single object can have significant security impact for an application if the object is later used in trusted operations. This vulnerability could allow an attacker to set arbitrary and unexpected keys on the object returned from "JSON5.parse". The actual impact will depend on how applications utilize the returned object and how they filter unwanted keys, but could include denial of service, cross-site scripting, elevation of privilege, and in extreme cases, remote code execution. "JSON5.parse" should restrict parsing of "proto" keys when parsing JSON strings to objects. As a point of reference, the "JSON.parse" method included in JavaScript ignores "proto" keys. Simply changing "JSON5.parse" to "JSON.parse" in the examples above mitigates this vulnerability. This vulnerability is patched in json5 versions 1.0.2, 2.2.2, and later.
Mend Note: The description of this vulnerability differs from MITRE.
Publish Date: Dec 24, 2022 12:00 AM
URL: CVE-2022-46175
Threat Assessment
Exploit Maturity:Not Defined
EPSS:40.5%
Score: 6.1
Suggested Fix
Type: Upgrade version
Origin: GHSA-9c47-m6qq-7p4h
Release Date: Dec 24, 2022 12:00 AM
Fix Resolution : json5 - 1.0.2,json5 - 2.2.2
📂 Vulnerable Library - babel-jest-26.6.3.tgz
Jest plugin to use babel for transformation.
Findings
Details
🟣CVE-121740-819191
Vulnerable Library - lodash-4.17.21.tgz
Lodash modular utilities.
Library home page: https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz
Dependency Hierarchy:
workbox-webpack-plugin-6.5.3.tgz (Root Library)
babel-preset-react-app-10.0.0.tgz (Root Library)
optimize-css-assets-webpack-plugin-6.0.1.tgz (Root Library)
babel-eslint-10.1.0.tgz (Root Library)
jest-26.6.0.tgz (Root Library)
styled-components-5.2.1.tgz (Root Library)
jest-dom-5.11.9.tgz (Root Library)
html-webpack-plugin-4.5.0.tgz (Root Library)
jest-circus-26.6.0.tgz (Root Library)
eslint-plugin-flowtype-5.2.0.tgz (Root Library)
eslint-plugin-testing-library-3.10.1.tgz (Root Library)
jest-dom-5.11.6.tgz (Root Library)
eslint-7.22.0.tgz (Root Library)
eslint-plugin-4.17.0.tgz (Root Library)
eslint-plugin-flowtype-5.3.1.tgz (Root Library)
core-7.12.3.tgz (Root Library)
react-graph-vis-1.0.7.tgz (Root Library)
parser-4.8.1.tgz (Root Library)
eslint-7.14.0.tgz (Root Library)
webpack-manifest-plugin-2.2.0.tgz (Root Library)
babel-jest-26.6.3.tgz (Root Library)
Vulnerability Details
Created automatically by the test suite
Publish Date: Jun 07, 2010 05:12 PM
URL: CVE-121740-819191
Threat Assessment
Exploit Maturity:N/A
EPSS:N/A
Score: 9.8
Suggested Fix
Type: Upgrade version
Origin:
Release Date:
Fix Resolution :
🔴CVE-2022-3517
Vulnerable Library - minimatch-3.0.4.tgz
a glob matcher in javascript
Library home page: https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz
Dependency Hierarchy:
workbox-webpack-plugin-6.5.3.tgz (Root Library)
jest-circus-29.1.2.tgz (Root Library)
eslint-7.22.0.tgz (Root Library)
terser-webpack-plugin-4.2.3.tgz (Root Library)
react-dev-utils-12.0.1.tgz (Root Library)
jest-26.6.0.tgz (Root Library)
eslint-plugin-import-2.22.1.tgz (Root Library)
eslint-7.14.0.tgz (Root Library)
jest-circus-26.6.0.tgz (Root Library)
babel-jest-26.6.3.tgz (Root Library)
Reachability Analysis
This vulnerability is potentially reachable:
Vulnerability Details
A vulnerability was found in the minimatch package. This flaw allows a Regular Expression Denial of Service (ReDoS) when calling the braceExpand function with specific arguments, resulting in a Denial of Service.
Publish Date: Oct 17, 2022 12:00 AM
URL: CVE-2022-3517
Threat Assessment
Exploit Maturity:Not Defined
EPSS:< 1%
Score: 8.7
Suggested Fix
Type: Upgrade version
Origin: GHSA-f8q6-p94x-37v3
Release Date: Oct 17, 2022 12:00 AM
Fix Resolution : minimatch - 3.0.5
🔴CVE-2022-38900
Vulnerable Library - decode-uri-component-0.2.0.tgz
A better decodeURIComponent
Library home page: https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz
Dependency Hierarchy:
jest-26.6.0.tgz (Root Library)
jest-dom-5.11.9.tgz (Root Library)
resolve-url-loader-3.1.4.tgz (Root Library)
babel-jest-26.6.3.tgz (Root Library)
jest-dom-5.11.6.tgz (Root Library)
Reachability Analysis
This vulnerability is potentially reachable:
Vulnerability Details
decode-uri-component 0.2.0 is vulnerable to Improper Input Validation resulting in DoS.
Publish Date: Nov 28, 2022 12:00 AM
URL: CVE-2022-38900
Threat Assessment
Exploit Maturity:Not Defined
EPSS:< 1%
Score: 8.7
Suggested Fix
Type: Upgrade version
Origin:
Release Date:
Fix Resolution :
🔴CVE-2024-4068
Vulnerable Library - braces-2.3.2.tgz
Bash-like brace expansion, implemented in JavaScript. Safer than other brace expansion libs, with complete support for the Bash 4.3 braces specification, without sacrificing speed.
Library home page: https://registry.npmjs.org/braces/-/braces-2.3.2.tgz
Dependency Hierarchy:
jest-26.6.0.tgz (Root Library)
babel-jest-26.6.3.tgz (Root Library)
Reachability Analysis
The vulnerable code is unreachable
Vulnerability Details
The NPM package "braces", versions prior to 3.0.3, fails to limit the number of characters it can handle, which could lead to Memory Exhaustion. In "lib/parse.js," if a malicious user sends "imbalanced braces" as input, the parsing will enter a loop, which will cause the program to start allocating heap memory without freeing it at any moment of the loop. Eventually, the JavaScript heap limit is reached, and the program will crash. After conducting a further research, it was concluded that CVE-2024-4068 does not contain a high security risk that reflects the NVD score, but should be kept for users' awareness. Users of braces should follow the fix recommendation as noted.
Publish Date: May 13, 2024 10:06 AM
URL: CVE-2024-4068
Threat Assessment
Exploit Maturity:Not Defined
EPSS:< 1%
Score: 8.7
Suggested Fix
Type: Upgrade version
Origin: GHSA-grv7-fg5c-xmjg
Release Date: May 13, 2024 10:06 AM
Fix Resolution : braces - 3.0.3
🟠CVE-2022-46175
Vulnerable Library - json5-2.2.0.tgz
JSON for humans.
Library home page: https://registry.npmjs.org/json5/-/json5-2.2.0.tgz
Dependency Hierarchy:
workbox-webpack-plugin-6.5.3.tgz (Root Library)
react-refresh-webpack-plugin-0.5.7.tgz (Root Library)
core-7.12.3.tgz (Root Library)
babel-jest-26.6.3.tgz (Root Library)
Reachability Analysis
The vulnerable code is unreachable
Vulnerability Details
JSON5 is an extension to the popular JSON file format that aims to be easier to write and maintain by hand (e.g. for config files). The "parse" method of the JSON5 library before and including versions 1.0.1 and 2.2.1 does not restrict parsing of keys named "proto", allowing specially crafted strings to pollute the prototype of the resulting object. This vulnerability pollutes the prototype of the object returned by "JSON5.parse" and not the global Object prototype, which is the commonly understood definition of Prototype Pollution. However, polluting the prototype of a single object can have significant security impact for an application if the object is later used in trusted operations. This vulnerability could allow an attacker to set arbitrary and unexpected keys on the object returned from "JSON5.parse". The actual impact will depend on how applications utilize the returned object and how they filter unwanted keys, but could include denial of service, cross-site scripting, elevation of privilege, and in extreme cases, remote code execution. "JSON5.parse" should restrict parsing of "proto" keys when parsing JSON strings to objects. As a point of reference, the "JSON.parse" method included in JavaScript ignores "proto" keys. Simply changing "JSON5.parse" to "JSON.parse" in the examples above mitigates this vulnerability. This vulnerability is patched in json5 versions 1.0.2, 2.2.2, and later.
Mend Note: The description of this vulnerability differs from MITRE.
Publish Date: Dec 24, 2022 12:00 AM
URL: CVE-2022-46175
Threat Assessment
Exploit Maturity:Not Defined
EPSS:40.5%
Score: 6.1
Suggested Fix
Type: Upgrade version
Origin: GHSA-9c47-m6qq-7p4h
Release Date: Dec 24, 2022 12:00 AM
Fix Resolution : json5 - 1.0.2,json5 - 2.2.2
🟠CVE-2022-46175
Vulnerable Library - json5-2.2.1.tgz
JSON for humans.
Library home page: https://registry.npmjs.org/json5/-/json5-2.2.1.tgz
Dependency Hierarchy:
workbox-webpack-plugin-6.5.3.tgz (Root Library)
jest-circus-29.1.2.tgz (Root Library)
react-refresh-webpack-plugin-0.5.7.tgz (Root Library)
core-7.12.3.tgz (Root Library)
webpack-6.2.1.tgz (Root Library)
jest-29.1.2.tgz (Root Library)
babel-jest-26.6.3.tgz (Root Library)
Reachability Analysis
The vulnerable code is unreachable
Vulnerability Details
JSON5 is an extension to the popular JSON file format that aims to be easier to write and maintain by hand (e.g. for config files). The "parse" method of the JSON5 library before and including versions 1.0.1 and 2.2.1 does not restrict parsing of keys named "proto", allowing specially crafted strings to pollute the prototype of the resulting object. This vulnerability pollutes the prototype of the object returned by "JSON5.parse" and not the global Object prototype, which is the commonly understood definition of Prototype Pollution. However, polluting the prototype of a single object can have significant security impact for an application if the object is later used in trusted operations. This vulnerability could allow an attacker to set arbitrary and unexpected keys on the object returned from "JSON5.parse". The actual impact will depend on how applications utilize the returned object and how they filter unwanted keys, but could include denial of service, cross-site scripting, elevation of privilege, and in extreme cases, remote code execution. "JSON5.parse" should restrict parsing of "proto" keys when parsing JSON strings to objects. As a point of reference, the "JSON.parse" method included in JavaScript ignores "proto" keys. Simply changing "JSON5.parse" to "JSON.parse" in the examples above mitigates this vulnerability. This vulnerability is patched in json5 versions 1.0.2, 2.2.2, and later.
Mend Note: The description of this vulnerability differs from MITRE.
Publish Date: Dec 24, 2022 12:00 AM
URL: CVE-2022-46175
Threat Assessment
Exploit Maturity:Not Defined
EPSS:40.5%
Score: 6.1
Suggested Fix
Type: Upgrade version
Origin: GHSA-9c47-m6qq-7p4h
Release Date: Dec 24, 2022 12:00 AM
Fix Resolution : json5 - 1.0.2,json5 - 2.2.2