IBM Support

Security Bulletin: Multiple vulnerabilities affecting the Cordova platform and IBM SDK Node.js packaged with Rational Software Architect and Rational Software Architect for WebSphere Software

Security Bulletin


Summary

Multiple vulnerabilities have been discovered that affect the Cordova platform and IBM SDK Node.js packaged with Rational Software Architect and Rational Software Architect for WebSphere software (CVE-2014-3500, CVE-2014-3501, CVE-2014-3502, CVE-2014-5256, CVE-2014-7191, CVE-2014-7192, CVE-2014-3568, CVE-2014-3567 and CVE-2014-3513).

Vulnerability Details

Subscribe to My Notifications to be notified of important product support alerts like this.
  • Follow this link for more information (requires login with your IBM ID)

CVEID: CVE-2014-3500

Description: Apache Cordova is vulnerable to cross-application scripting, which is caused by improper validation of user-supplied input. A remote attacker might exploit this vulnerability using Android intent URLs to execute script in a victim's web browser within the security context of the hosting web site after the URL is clicked. An attacker might use this vulnerability to steal the victim's cookie-based authentication credentials.

CVSS Base Score: 4.3
CVSS Temporal Score: See https://exchange.xforce.ibmcloud.com/vulnerabilities/94408 for the current score
CVSS Environmental Score*: Undefined
CVSS Vector: (AV:N/AC:M/Au:N/C:N/I:P/A:N)


CVEID: CVE-2014-3501

Description: Apache Cordova might allow a remote attacker to bypass security restrictions, which is caused by an error that is related to the failure to use a specific whitelist when communicating over non-http channels by the WebView component. An attacker might exploit this vulnerability to bypass the HTTP whitelist and launch further attacks on the system.

CVSS Base Score: 5.0
CVSS Temporal Score: See https://exchange.xforce.ibmcloud.com/vulnerabilities/95107 for the current score
CVSS Environmental Score*: Undefined
CVSS Vector: (AV:N/AC:L/Au:N/C:N/I:P/A:N)


CVEID:
CVE-2014-3502

Description: Apache Cordova might allow a remote attacker to obtain sensitive information, which is caused by the manipulation of HTML content within a Cordova application. An attacker might exploit this vulnerability to send data from the application to the network.

CVSS Base Score: 4.3
CVSS Temporal Score: See https://exchange.xforce.ibmcloud.com/vulnerabilities/94443 for the current score
CVSS Environmental Score*: Undefined
CVSS Vector: (AV:N/AC:M/Au:N/C:P/I:N/A:N)


CVEID: CVE-2014-5256

Description:V8 shipped with Node.js is vulnerable to a denial of service, caused by a memory corruption error. By sending an overly long JSON string, a remote attacker could exploit this vulnerability to cause a segmentation fault.

CVSS Base Score: 5.0
CVSS Temporal Score: See https://exchange.xforce.ibmcloud.com/vulnerabilities/95057 for the current score
CVSS Environmental Score*: Undefined
CVSS Vector: (AV:N/AC:L/Au:N/C:N/I:N/A:P)


CVE-ID: CVE-2014-7191

Description: Node.js is vulnerable to a denial of service, caused by an error in the qs module when parsing a string representing a deeply nested object. An attacker could exploit this vulnerability to block the event loop for an extended period of time and cause a denial of service.

CVSS Base Score: 5.0
CVSS Temporal Score: https://exchange.xforce.ibmcloud.com/vulnerabilities/96729 for more information
CVSS Environmental Score*: Undefined
CVSS Vector: (AV:N/AC:L/Au:N/C:N/I:N/A:P)


CVE-ID: CVE-2014-7192

Description: Node.js could allow a remote attacker to execute arbitrary code on the system, caused by the improper validation of input prior to being used in an eval() call. An attacker could exploit this vulnerability to inject and execute arbitrary PHP code on the system.

CVSS Base Score: 7.5
CVSS Temporal Score: https://exchange.xforce.ibmcloud.com/vulnerabilities/96728 for more information
CVSS Environmental Score*: Undefined
CVSS Vector: (AV:N/AC:L/Au:N/C:P/I:P/A:P)


CVE ID: CVE-2014-3513

Description:
OpenSSL is vulnerable to a denial of service, caused by a memory leak in the DTLS Secure Real-time Transport Protocol (SRTP) extension parsing code. By sending multiple specially-crafted handshake messages, an attacker could exploit this vulnerability to exhaust all available memory of an SSL/TLS or DTLS server.

CVSS Base Score: 5.0
CVSS Temporal Score: https://exchange.xforce.ibmcloud.com/vulnerabilities/97035 for more information
CVSS Environmental Score*: Undefined
CVSS Vector: (AV:N/AC:L/Au:N/C:N/I:N/A:P)


CVE-ID:
CVE-2014-3567

Description:
OpenSSL is vulnerable to a denial of service, caused by a memory leak when handling failed session ticket integrity checks. By sending an overly large number of invalid session tickets, an attacker could exploit this vulnerability to exhaust all available memory of an SSL/TLS or DTLS server.

CVSS Base Score: 5.0
CVSS Temporal Score: https://exchange.xforce.ibmcloud.com/vulnerabilities/97036 for more information
CVSS Environmental Score*: Undefined
CVSS Vector: (AV:N/AC:L/Au:N/C:N/I:N/A:P)

CVE-ID:
CVE-2014-3568

Description:
OpenSSL could allow a remote attacker bypass security restrictions. When configured with "no-ssl3" as a build option, servers could accept and complete a SSL 3.0 handshake. An attacker could exploit this vulnerability to perform unauthorized actions.

CVSS Base Score: 2.6
CVSS Temporal Score: https://exchange.xforce.ibmcloud.com/vulnerabilities/97037 for more information
CVSS Environmental Score*: Undefined
CVSS Vector: (AV:N/AC:H/Au:N/C:N/I:P/A:N)

Affected Products and Versions

Rational Software Architect 9.1 and 9.1.1

Rational Software Architect for WebSphere Software 9.1 and 9.1.1

Remediation/Fixes

Update the Cordova platform to 3.5.0, Node.js to 1.1.0.9 and the Android platform to 3.5.1 using the Node Packaged Modules software provided with the product:

Product VRMF Remediation/Download FixCentral link
Rational Software Architect 9.1 and 9.1.1 Cordova and IBM SDK NodeJS iFix
Rational Software Architect for WebSphere Software 9.1 and 9.1.1 Cordova and IBM SDK NodeJS iFix

Installation Instructions:

For instructions on installing this update using Installation Manager, review the topic Updating Installed Product Packages in the IBM Knowledge Center.

Instructions to download and install the update from the compressed files:
  1. Download the update files from Fix Central by following the link listed in the download table above

  2. Extract the compressed files in an appropriate directory.
    For example, choose to extract to C:\temp\update

  3. Add the update repository location in IBM Installation Manager:
    1. Start IBM Installation Manager.
    2. On the Start page of Installation Manager, click File > Preferences, and then click Repositories.
    3. On the Repositories page, click Add Repository.
    4. In the Add repository window, browse to or enter the file path to the repository.config file, which is located in the directory where you extracted the compressed files and then click OK.
      For example, enter C:\temp\updates\repository.config.
    5. Click OK to close the Preference page.
    6. Install the update as described in the the topic Updating Installed Product Packages in the IBM Knowledge Center for your product and version.


Post Installation:
After applying the appropriate fix, additional instructions are needed for the CVE-2014-3500, CVE-2014-3501 and CVE-2014-3502 issues.

Complete the following steps to modify the Cordova whitelist

Note: One of the security fixes involves creating a new whitelist for protocols other than HTTP and HTTPS. If your application uses other protocols besides http and https, such as sms, mailto, geo, etc, then you need to make some configuration changes to add these protocols to the whitelist.

Procedure:
  1. Open the Cordova config.xml file, located in <project>/config.xml

  2. View your whitelist entries, such as the following example:

    <access origin="https://my.company.com/resources" />
    <access origin="http://*.othersupplier.com" />


  3. For every non HTTP or HTTPS protocol that you use you will need to add a whitelist entry like this code:

    <access origin="sms://*" launch-external="true" />
    <access origin="mailto://*" launch-external="true" />
    <access origin="geo://*" launch-external="true" />

    The launch-external attribute tells Cordova to allow this URL to be handled by other applications in Android system and not by the currently running Cordova. This approach means that when a user clicks a <a href="sms:555..."> link, Android lets whatever application is registered to sms: handle the request.

    The only entry in your whitelist might look like this code:
    <access origin="*" />

    In this instance, your application allows resource requests to any Internet resource, which might open your application to certain kinds of attacks. You should list specific domains in this tag that you want to be able to access.

    If you do not utilize any protocol other than file, data, and content, then you can leave your whitelist as-is as these protocols are essential for Cordova internals and do not need to be explicitly whitelisted. All actions that use protocols that are not added to the whitelist are treated as no-ops and ignored by Cordova.

  4. Rebuild your application and redeploy to your users

    After making these changes to the whitelist (if they are needed) then you will need to rebuild your Android application and distribute to your users as an update.

Workarounds and Mitigations

None

Get Notified about Future Security Bulletins

References

Complete CVSS v2 Guide
On-line Calculator v2

Related information

IBM Secure Engineering Web Portal
IBM Product Security Incident Response Blog

Acknowledgement

None

Change History

* 28 November 2014: Original copy 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.


Cross reference information
Segment Product Component Platform Version Edition
Software Development Rational Software Architect for WebSphere Software Linux, OS X, Windows 9.1, 9.1.1

Document information

More support for: Rational Software Architect
General Information

Software version: 9.1, 9.1.1

Operating system(s): Linux, OS X, Windows

Reference #: 1686792

Modified date: 28 November 2014