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.
|
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 allowlist when communicating over non-http channels by the WebView component. An attacker might exploit this vulnerability to bypass the HTTP allowlist 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:
- Download the update files from Fix Central by following the link listed in the download table above
- Extract the compressed files in an appropriate directory.
For example, choose to extract to C:\temp\update
- Add the update repository location in IBM Installation Manager:
- Start IBM Installation Manager.
- On the Start page of Installation Manager, click File > Preferences, and then click Repositories.
- On the Repositories page, click Add Repository.
- 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. - Click OK to close the Preference page.
- 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 allowlist
Note: One of the security fixes involves creating a new allowlist 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 allowlist.
Procedure:
- Open the Cordova config.xml file, located in <project>/config.xml
- View your allowlist entries, such as the following example:
<access origin="https://my.company.com/resources" />
<access origin="http://*.othersupplier.com" />
- For every non HTTP or HTTPS protocol that you use you will need to add a allowlist 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 allowlist 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 allowlist as-is as these protocols are essential for Cordova internals and do not need to be explicitly allowlisted. All actions that use protocols that are not added to the allowlist are treated as no-ops and ignored by Cordova.
- Rebuild your application and redeploy to your users
After making these changes to the allowlist (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
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
Review the IBM security bulletin disclaimer and definitions regarding your responsibilities for assessing potential impact of security vulnerabilities to your environment.
Internal Use Only
CVE-2014-3500 PSIRT 1868, Record 39801
CVE-2014-3501 PSIRT 1996, Record 40827
CVE-2014-3502 PSIRT 1869, Record 39831
CVE-2014-5256 PSIRT 1984, Record 40815
CVE-2014-7191 PSIRT 2241, Record 43358
CVE-2014-7192 PSIRT 2241, Record 43358
CVE-2014-3568 PSIRT 2291, Record 45326
CVE-2014-3567 PSIRT 2291, Record 45326
CVE-2014-3513 PSIRT 2291, Record 45326
Was this topic helpful?
Document Information
Modified date:
10 September 2020
UID
swg21686792