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
Multiple vulnerabilities have been discovered that affect the Cordova platform packaged with Rational Application Developer.
| 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)
IBM Rational Application Developer for WebSphere Software 9.1 and 9.1.0.1
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:
Open a command terminal and navigate to <product installation directory>/cordova_cli/
(for Windows) or <product installation directory>/cordova_cli/bin/
(for Linux or MacOS)
Issue the following command to upgrade the Cordova platform to 3.5.0:
Windows: npm update -g [email protected] --prefix=<product installation directory>/cordova_cli/
Linux / MacOS: n``pm update -g [email protected] --prefix=<product installation directory>/cordova_cli/``bin/
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:
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 `<project>/config.xml`
2. View your allowlist 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 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.
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.
None