node-sdk icon indicating copy to clipboard operation
node-sdk copied to clipboard

Please help to fix the vulnerabilities in version 9.1.0

Open mihui opened this issue 1 year ago • 1 comments

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:

  • OS: Any
  • Which version of Node are you using?: Any

Additional context N/A

mihui avatar May 20 '24 04:05 mihui

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

apaparazzi0329 avatar May 21 '24 15:05 apaparazzi0329

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:

  • ibm-watson-9.1.0.tgz (Root Library)
  • ibm-cloud-sdk-core-4.3.3.tgz
  • ❌ axios-1.6.8.tgz (Vulnerable Library)

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)

cober967 avatar Aug 27 '24 15:08 cober967

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 avatar Aug 27 '24 16:08 apaparazzi0329

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

apaparazzi0329 avatar Aug 28 '24 18:08 apaparazzi0329