CVE-2017-15010: High severity Salesforce Tough-cookie Node.js vulnerability
A ReDoS (regular expression denial of service) flaw was found in the tough-cookie module before 2.3.3 for Node.js. An attacker that is able to make an HTTP request using a specially crafted cookie may cause the application to consume an excessive amount of CPU.
Other sources
Affected versions of tough-cookie are susceptible to a regular expression denial of service.
The amplification on this vulnerability is relatively low - it takes around 2 seconds for the engine to execute on a malicious input which is 50,000 characters in length.
If node was compiled using the -DHTTPMAXHEADERSIZE however, the impact of the vulnerability can be significant, as the primary limitation for the vulnerability is the default max HTTP header length in node.
Recommendation
Update to version 2.3.3 or later.
It was found that the tough-cookie module is vulnerable to regular expression denial of service. Input of around 50k characters is required for a slow down of around 2 seconds.
Unless node was compiled using the -DHTTPMAXHEADERSIZE= option the default header max length is 80kb so the impact of the ReDoS is limited to around 7.3 seconds of blocking.
Upstream issue:
https://github.com/salesforce/tough-cookie/issues/92
Upstream patch: https://github.com/salesforce/tough-cookie/commit/98e0916d7b017669c93855d831c6e0b19c14141e
— Red Hat
Node.js is vulnerable to a denial of service, caused by a flaw in the tough-cookie module. By sending a specially-crafted HTTP request, a remote attacker could exploit this vulnerability to cause a regular expression denial of service.
— IBM
Affected Software
Remediation
Patch Available
Event History
Frequently Asked Questions
What is the severity of CVE-2017-15010?
CVE-2017-15010 is classified as a high severity vulnerability due to its potential to cause denial of service by overwhelming system resources.
How do I fix CVE-2017-15010?
To remediate CVE-2017-15010, upgrade the tough-cookie module to version 2.3.3 or later.
What causes the CVE-2017-15010 vulnerability?
CVE-2017-15010 is caused by a regular expression denial of service (ReDoS) flaw within the tough-cookie module.
Which versions of tough-cookie are affected by CVE-2017-15010?
Versions of tough-cookie prior to 2.3.3 are affected by CVE-2017-15010.
What applications are impacted by CVE-2017-15010?
Applications using the tough-cookie module before version 2.3.3 are at risk of being impacted by CVE-2017-15010.