Lucene search

K
ibmIBMBFF5CEED5CFD12014C9B371879CDF9AA52412020E2D5DD7923B24C22DED8E5AC
HistoryFeb 05, 2020 - 12:09 a.m.

Security Bulletin: Multiple vulnerabilities affecting the Cordova platform packaged with Rational Application Developer (CVE-2014-3500, CVE-2014-3501 and CVE-2014-3502)

2020-02-0500:09:48
www.ibm.com
8

6.4 Medium

CVSS2

Access Vector

NETWORK

Access Complexity

LOW

Authentication

NONE

Confidentiality Impact

PARTIAL

Integrity Impact

PARTIAL

Availability Impact

NONE

AV:N/AC:L/Au:N/C:P/I:P/A:N

Summary

Multiple vulnerabilities have been discovered that affect the Cordova platform packaged with Rational Application Developer.

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&gt; 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&gt; 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&gt; for the current score *CVSS Environmental Score:**Undefined CVSS Vector: (AV:N/AC:M/Au:N/C:P/I:N/A:N)

Affected Products and Versions

IBM Rational Application Developer for WebSphere Software 9.1 and 9.1.0.1

Remediation/Fixes

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

  1. Open a command terminal and navigate to &lt;product installation directory&gt;/cordova_cli/ (for Windows) or &lt;product installation directory&gt;/cordova_cli/bin/ (for Linux or MacOS)

  2. Issue the following command to upgrade the Cordova platform to 3.5.0:

Windows: npm update -g [email protected] --prefix=&lt;product installation directory&gt;/cordova_cli/

Linux / MacOS: n``pm update -g [email protected] --prefix=&lt;product installation directory&gt;/cordova_cli/``bin/

  1. After the Cordova platform has been successfully updated, issue the following command in the same terminal to upgrade the Android platform to 3.5.1:

cordova platform update [email protected] --usenpm

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:

  1. Modify the Cordova allowlist

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. Complete the following steps to make these configuration changes:

1. Open the Cordova config.xml file, located in `&lt;project&gt;/config.xml`
2. View your allowlist entries, such as the following example:  

<access origin="https://my.company.com/resources&quot; />
<access origin=“http://*.othersupplier.com” />

3. 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 &lt;a href="sms:555..."&gt; link, Android lets whatever application is registered to sms: handle the request.

The only entry in your allowlist might look like this code:
&lt;access origin="*" /&gt;

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.

  1. 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

6.4 Medium

CVSS2

Access Vector

NETWORK

Access Complexity

LOW

Authentication

NONE

Confidentiality Impact

PARTIAL

Integrity Impact

PARTIAL

Availability Impact

NONE

AV:N/AC:L/Au:N/C:P/I:P/A:N

Related for BFF5CEED5CFD12014C9B371879CDF9AA52412020E2D5DD7923B24C22DED8E5AC