Vulnerabilities

3 via 3 paths

Dependencies

20

Source

GitHub

Find, fix and prevent vulnerabilities in your code.

Severity
  • 3
Status
  • 3
  • 0
  • 0

high severity
new

Allocation of Resources Without Limits or Throttling

  • Vulnerable module: brace-expansion
  • Introduced through: brace-expansion@4.0.1

Detailed paths

  • Introduced through: vscode-fileutils@sleistner/vscode-fileutils brace-expansion@4.0.1
    Remediation: Upgrade to brace-expansion@5.0.8.

Overview

brace-expansion is a Brace expansion as known from sh/bash

Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling in the expand() function and its recursive expand_ helper, which cap the number of results via the max option but do not bound the length of each result string. An attacker can crash the Node process with a fatal, uncatchable out-of-memory error by supplying a pattern that chains many brace groups, such as {a,b} repeated, keeping the result count under max while each result grows with the group count so total output scales unbounded. Exploitation requires the application to pass untrusted input to expand(), directly or transitively through minimatch or glob brace patterns.

Workaround

This vulnerability can be avoided by passing small explicit max and maxLength options to expand(), bounding both the number of results and the length of each so total output stays limited.

Remediation

Upgrade brace-expansion to version 1.1.16, 2.1.2, 5.0.8 or higher.

References

high severity

Inefficient Algorithmic Complexity

  • Vulnerable module: brace-expansion
  • Introduced through: brace-expansion@4.0.1

Detailed paths

  • Introduced through: vscode-fileutils@sleistner/vscode-fileutils brace-expansion@4.0.1
    Remediation: Upgrade to brace-expansion@5.0.7.

Overview

brace-expansion is a Brace expansion as known from sh/bash

Affected versions of this package are vulnerable to Inefficient Algorithmic Complexity via the expand function. An attacker can cause excessive CPU consumption and block the event loop by supplying a specially crafted string containing multiple consecutive non-expanding '{}' brace groups. The max option does not prevent this issue, as it only limits the output size and not the computational workload.

Remediation

Upgrade brace-expansion to version 1.1.16, 2.1.2, 5.0.7 or higher.

References

high severity

Infinite loop

  • Vulnerable module: brace-expansion
  • Introduced through: brace-expansion@4.0.1

Detailed paths

  • Introduced through: vscode-fileutils@sleistner/vscode-fileutils brace-expansion@4.0.1
    Remediation: Upgrade to brace-expansion@5.0.5.

Overview

brace-expansion is a Brace expansion as known from sh/bash

Affected versions of this package are vulnerable to Infinite loop through the expand function when processing a brace pattern with a zero step value. An attacker can cause the process to hang and exhaust system memory by supplying specially crafted input, such as {1..2..0}. This can lead to significant resource consumption and denial of service.

Workaround

This vulnerability can be mitigated by sanitizing strings passed to expand to ensure a step value of 0 is not used.

Remediation

Upgrade brace-expansion to version 1.1.13, 2.0.3, 3.0.2, 5.0.5 or higher.

References