IBM Support

Security Bulletin: Multiple vulnerabilities may affect IBM® SDK for Node.js™ in IBM Bluemix

Security Bulletin


Summary

OpenSSL vulnerabilities were disclosed on September 22 and 26, 2016 by the OpenSSL Project. OpenSSL is used by IBM SDK for Node.js. IBM SDK for Node.js has addressed the applicable CVEs, plus three additional vulnerabilities unrelated to the OpenSSL release.

Vulnerability Details

CVEID: CVE-2016-6304
DESCRIPTION:
 OpenSSL is vulnerable to a denial of service. By repeatedly requesting renegotiation, a remote authenticated attacker could send an overly large OCSP Status Request extension to consume all available memory resources.
CVSS Base Score: 6.5
CVSS Temporal Score: See https://exchange.xforce.ibmcloud.com/vulnerabilities/117110 for the current score
CVSS Environmental Score*: Undefined
CVSS Vector: (CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H)

CVEID: CVE-2016-6303
DESCRIPTION:
 OpenSSL is vulnerable to a denial of service, caused by an integer overflow in the MDC2_Update function. By using unknown attack vectors, a remote attacker could exploit this vulnerability to trigger an out-of-bounds write and cause the application to crash.
CVSS Base Score: 5.3
CVSS Temporal Score: See https://exchange.xforce.ibmcloud.com/vulnerabilities/117023 for the current score
CVSS Environmental Score*: Undefined
CVSS Vector: (CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L)

CVEID: CVE-2016-2178
DESCRIPTION:
 OpenSSL could allow a remote attacker to obtain sensitive information, caused by an error in the DSA implementation that allows the following of a non-constant time codepath for certain operations. An attacker could exploit this vulnerability using a cache-timing attack to recover the private DSA key.
CVSS Base Score: 5.3
CVSS Temporal Score: See https://exchange.xforce.ibmcloud.com/vulnerabilities/113889 for the current score
CVSS Environmental Score*: Undefined
CVSS Vector: (CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N)

CVEID: CVE-2016-6306
DESCRIPTION:
 OpenSSL is vulnerable to a denial of service, caused by missing message length checks when parsing certificates. A remote authenticated attacker could exploit this vulnerability to trigger an out-of-bounds read and cause a denial of service.
CVSS Base Score: 4.3
CVSS Temporal Score: See https://exchange.xforce.ibmcloud.com/vulnerabilities/117112 for the current score
CVSS Environmental Score*: Undefined
CVSS Vector: (CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L)

CVEID: CVE-2016-2183
DESCRIPTION:
 OpenSSL could allow a remote attacker to obtain sensitive information, caused by an error in the in the Triple-DES on 64-bit block cipher, used as a part of the SSL/TLS protocol. By capturing large amounts of encrypted traffic between the SSL/TLS server and the client, a remote attacker able to conduct a man-in-the-middle attack could exploit this vulnerability to recover the plaintext data and obtain sensitive information. This vulnerability is known as the SWEET32 Birthday attack.
CVSS Base Score: 3.7
CVSS Temporal Score: See https://exchange.xforce.ibmcloud.com/vulnerabilities/116337 for the current score
CVSS Environmental Score*: Undefined
CVSS Vector: (CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N)

CVEID: CVE-2016-7099
DESCRIPTION:
 Node.js could allow a remote attacker to bypass security restrictions, caused by the improper verification of the host name. By sending a specially-crafted certificate containing wildcard characters, a remote attacker could exploit this vulnerability to gain access to the system.
CVSS Base Score: 6.5
CVSS Temporal Score: See https://exchange.xforce.ibmcloud.com/vulnerabilities/117538 for the current score
CVSS Environmental Score*: Undefined
CVSS Vector: (CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N)

CVEID: CVE-2016-5325
DESCRIPTION:
 Node.js is vulnerable to HTTP response splitting attacks, caused by improper validation of user-supplied input by the reason argument in ServerResponse#writeHead() function. A remote attacker could exploit this vulnerability to inject arbitrary HTTP headers and cause the server to return a split response, once the URL is clicked. This would allow the attacker to perform further attacks, such as Web cache poisoning or cross-site scripting, and possibly obtain sensitive information.
CVSS Base Score: 6.1
CVSS Temporal Score: See https://exchange.xforce.ibmcloud.com/vulnerabilities/117539 for the current score
CVSS Environmental Score*: Undefined
CVSS Vector: (CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N)

DESCRIPTION: Node.js could allow a local attacker to execute arbitrary code on the system, caused by the loading of third-party engine modules when the ENGINE_load_builtin_engines() function is used. By impersonating malicious code as a module, an attacker could exploit this vulnerability to execute arbitrary code on the system.
CVSS Base Score: 4.9
CVSS Temporal Score: See https://exchange.xforce.ibmcloud.com/vulnerabilities/117537 for the current score
CVSS Environmental Score*: Undefined
CVSS Vector: (CVSS:3.0/AV:L/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L)

Affected Products and Versions

These vulnerabilities affect IBM SDK for Node.js v1.1.1.3 and earlier releases.
These vulnerabilities affect IBM SDK for Node.js v1.2.0.14 and earlier releases.
These vulnerabilities affect IBM SDK for Node.js v4.5.0.0 and earlier releases.
These vulnerabilities affect IBM SDK for Node.js v6.6.0.0 and earlier releases.
The corresponding open-source versions are v0.10.46, v0.12.15 and v4.5.0, v6.6.0 respectively.

To check which version of the Node.js runtime runtime your Bluemix application is using, navigate to the "Files" menu item for your application through the Bluemix UI. In the "logs" directory, check the "staging_task.log".

You can also find this file through the command-line Cloud Foundry client by running the following command:

cf files <appname> logs/staging_task.log

Look for the following lines:

-----> IBM SDK for Node.js Buildpack _______

If the Node.js engine version is not v0.10.47, v0.12.16, v4.6.0 or v6.7.0 your application may be vulnerable.

Remediation/Fixes

The fixes for these vulnerabilities are included in IBM SDK for Node.js v1.1.1.4 and subsequent releases.
The fixes for these vulnerabilities are included in IBM SDK for Node.js v1.2.0.15 and subsequent releases.
The fixes for these vulnerabilities are included in IBM SDK for Node.js v4.6.0.0 and subsequent releases.
The fixes for these vulnerabilities are included in IBM SDK for Node.js v6.7.0.0 and subsequent releases.

To upgrade to the latest version of the Node.js runtime, please specify the latest Node.js runtime in your package.json file for your application:

"engines": {
"node": ">=0.10.47"
},
or
"engines": {
"node": ">=0.12.16"
},
or
"engines": {
"node": ">=4.6.0"
},
or
"engines": {
"node": ">=6.7.0"
},

You will then need to restage (or re-push) your application using the IBM SDK for Node.js Buildpack v3.8.

Get Notified about Future Security Bulletins

References

Related information

IBM Secure Engineering Web Portal
IBM Product Security Incident Response Blog

Change History

October 14 2016: Original version published

*The CVSS Environment Score is customer environment specific and will ultimately impact the Overall CVSS Score. Customers can evaluate the impact of this vulnerability in their environments by accessing the links in the Reference section of this Security Bulletin.

Disclaimer

According to the Forum of Incident Response and Security Teams (FIRST), the Common Vulnerability Scoring System (CVSS) is an "industry open standard designed to convey vulnerability severity and help to determine urgency and priority of response." IBM PROVIDES THE CVSS SCORES "AS IS" WITHOUT WARRANTY OF ANY KIND, INCLUDING THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. CUSTOMERS ARE RESPONSIBLE FOR ASSESSING THE IMPACT OF ANY ACTUAL OR POTENTIAL SECURITY VULNERABILITY.

Document information

More support for: IBM SDK for Node.js for Bluemix

Software version: Version Independent

Operating system(s): Platform Independent

Reference #: 1992427

Modified date: 14 October 2016