Bug 1359818 (CVE-2016-1000232)

Summary: CVE-2016-1000232 nodejs-tough-cookie: regular expression DoS via Cookie header with many semicolons
Product: [Other] Security Response Reporter: Andrej Nemec <anemec>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED ERRATA QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: bleanhar, ccoleman, dedgar, dmcphers, hhorak, jgoulding, jialiu, jkeck, joelsmith, jokerman, jorton, lmeyer, mmccomas, piotr1212, tdawson, zsvetlik
Target Milestone: ---Keywords: Reopened, Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: nodejs-tough-cookie 2.3.0 Doc Type: If docs needed, set a value
Doc Text:
A regular expression denial of service flaw was found in Tough-Cookie. An attacker able to make an application using Touch-Cookie to parse an HTTP header with many semicolons could cause the application to consume an excessive amount of CPU.
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-06-08 02:56:29 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On: 1359819, 1377456, 1377457, 1497695, 1497696    
Bug Blocks: 1359821    

Description Andrej Nemec 2016-07-25 13:48:20 UTC
Tough-cookie is a cookie parsing and management library.

Versions 0.9.7 through 2.2.2 contain a vulnerable regular expression that, under certain conditions involving long strings of semicolons in the "Cookie" header, causes the event loop to block for excessive amounts of time.

External References:

https://nodesecurity.io/advisories/130

Upstream fixes:

https://github.com/SalesforceEng/tough-cookie/commit/e4fc2e0f9ee1b7a818d68f0ac7ea696f377b1534
https://github.com/SalesforceEng/tough-cookie/commit/615627206357d997d5e6ff9da158997de05235ae

Comment 1 Andrej Nemec 2016-07-25 13:48:50 UTC
Created nodejs-tough-cookie tracking bugs for this issue:

Affects: fedora-all [bug 1359819]

Comment 2 Fedora Update System 2016-08-09 04:50:46 UTC
nodejs-tough-cookie-2.3.1-1.fc24 has been pushed to the Fedora 24 stable repository. If problems still persist, please make note of it in this bug report.

Comment 4 Tomas Hoger 2016-08-25 09:56:30 UTC
If tough-cookie module is used to parse Cookie header value, this flaw could cause it to use excessive amount of CPU time (cookie header takes long to parse).  The actual impact depends on the maximum value length that can be received by the application.  If node.js is deployed behind a web server such as Apache httpd or nginx, default header size limits of those servers (4-8K):

http://stackoverflow.com/questions/686217/maximum-on-http-header-values#8623061

greatly mitigate impact of this issue.  node.js directly expose to the internet can process larger headers, and hence possible impact is higher.

Comment 7 errata-xmlrpc 2016-10-27 16:42:30 UTC
This issue has been addressed in the following products:

  Red Hat OpenShift Container Platform 3.3
  Red Hat OpenShift Enterprise 3.2
  Red Hat OpenShift Enterprise 3.1

Via RHSA-2016:2101 https://access.redhat.com/errata/RHSA-2016:2101

Comment 10 errata-xmlrpc 2017-10-18 16:47:27 UTC
This issue has been addressed in the following products:

  Red Hat Software Collections for Red Hat Enterprise Linux 6
  Red Hat Software Collections for Red Hat Enterprise Linux 6.7 EUS
  Red Hat Software Collections for Red Hat Enterprise Linux 7
  Red Hat Software Collections for Red Hat Enterprise Linux 7.3 EUS

Via RHSA-2017:2912 https://access.redhat.com/errata/RHSA-2017:2912