Skip to content

babel-jest-26.6.3.tgz: 6 vulnerabilities (highest severity is: 9.8) [master] (reachable) #95

@mend-developer-platform-dev

Description

@mend-developer-platform-dev
📂 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:

  • 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
            • braces-2.3.2.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
            • braces-2.3.2.tgz (Vulnerable 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)

    • 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions