watson-developer-cloud / node-sdk

:comet: Node.js library to access IBM Watson services.
https://www.npmjs.com/package/ibm-watson
Apache License 2.0
1.48k stars 669 forks source link

Please help to fix the vulnerabilities in version 9.1.0 #1218

Closed mihui closed 2 months ago

mihui commented 6 months ago

Overview Dependency security vulnerability detected from the version 9.1.0

Expected behavior They should be fixed.

Actual behavior

CVE-2024-4067 - High Severity Vulnerability

Vulnerable Library - micromatch-4.0.5.tgz

Glob matching for javascript/node.js. A replacement and faster alternative to minimatch and multimatch.

Library home page: https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz

Path to dependency file: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy: - ibm-watson-9.1.0.tgz (Root Library) - ibm-cloud-sdk-core-4.2.4.tgz - expect-26.6.2.tgz - jest-message-util-26.6.2.tgz - :x: **micromatch-4.0.5.tgz** (Vulnerable Library)

Found in base branch: main

Vulnerability Details

The NPM package `micromatch` is vulnerable to Regular Expression Denial of Service (ReDoS). The vulnerability occurs in `micromatch.braces()` in `index.js` because the pattern `.*` will greedily match anything. By passing a malicious payload, the pattern matching will keep backtracking to the input while it doesn't find the closing bracket. As the input size increases, the consumption time will also increase until it causes the application to hang or slow down. There was a merged fix but further testing shows the issue persists. This issue should be mitigated by using a safe pattern that won't start backtracking the regular expression due to greedy matching.

Publish Date: 2024-05-14

URL: CVE-2024-4067

CVSS 3 Score Details (7.5)

Base Score Metrics: - Exploitability Metrics: - Attack Vector: Network - Attack Complexity: Low - Privileges Required: None - User Interaction: None - Scope: Unchanged - Impact Metrics: - Confidentiality Impact: None - Integrity Impact: None - Availability Impact: High

For more information on CVSS3 Scores, click here.

CVE-2024-4068 - High Severity Vulnerability

Vulnerable Library - braces-3.0.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-3.0.2.tgz

Path to dependency file: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy: - ibm-watson-9.1.0.tgz (Root Library) - ibm-cloud-sdk-core-4.2.4.tgz - expect-26.6.2.tgz - jest-message-util-26.6.2.tgz - micromatch-4.0.5.tgz - :x: **braces-3.0.2.tgz** (Vulnerable Library)

Found in base branch: main

Vulnerability Details

The NPM package `braces` 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.

Publish Date: 2024-05-14

URL: CVE-2024-4068

CVSS 3 Score Details (7.5)

Base Score Metrics: - Exploitability Metrics: - Attack Vector: Network - Attack Complexity: Low - Privileges Required: None - User Interaction: None - Scope: Unchanged - Impact Metrics: - Confidentiality Impact: None - Integrity Impact: None - Availability Impact: High

For more information on CVSS3 Scores, click here.

How to reproduce Please scan the code by using Mend (whitesource)

Screenshots N/A

SDK Version 9.1.0

Additional information:

Additional context N/A

apaparazzi0329 commented 6 months ago

Those are vulnerabilities from jest testing framework dependencies, specifically the jest-message-util package. These vulnerabilities should pose no risk to any application using the ibm-watson package

cober967 commented 2 months ago

There has been an additional High vulnerability, CVE-2024-39338 , detected for ibm-watson-9.1.0. Are there any plans to apply a fix?

CVE-2024-39338 Vulnerable Library - axios-1.6.8.tgz Library home page: https://registry.npmjs.org/axios/-/axios-1.6.8.tgz

Path to dependency file: /package.json

Path to vulnerable library: /package.json

Dependency Hierarchy:

Vulnerability Details axios 1.7.2 allows SSRF via unexpected behavior where requests for path relative URLs get processed as protocol relative URLs.

Publish Date: 2024-08-09

URL: CVE-2024-39338

CVSS 3 Score Details (7.5)

apaparazzi0329 commented 2 months ago

Currently working on updating the axios version for the ibm-cloud-sdk-core to address the axios issue. As for the other two vulnerabilities mentioned, they only affect testing with the jest message util and pose no threat to application usage. As such, we will not be immediately addressing those issues

apaparazzi0329 commented 2 months ago

The ibm-cloud-sdk-core version 4 has been patched to 4.3.4 and resolves the axios vulnerable version