Quick answers
- Is CVE-2016-10735 exploited in the wild?
- No. Junglewise Threat Intelligence has no report of CVE-2016-10735 being exploited in the wild.
- How severe is CVE-2016-10735?
- Low severity, with a CVSS score of 3, published 17 January 2019.
- Which products and versions are affected?
- org.webjars:bootstrap (Maven) ECOSYSTEM:introduced=2.0.4,fixed=3.4.0; bootstrap (npm) SEMVER:introduced=2.0.4,fixed=3.4.0; bootstrap-sass (npm) SEMVER:introduced=2.0.4,fixed=3.4.0; bootstrap (NuGet) ECOSYSTEM:introduced=2.0.4,fixed=3.4.0; and 4 more.
- Is there a fix for CVE-2016-10735?
- Yes. org.webjars:bootstrap (Maven): upgrade to 3.4.0 or later; bootstrap (npm): upgrade to 3.4.0 or later; bootstrap-sass (npm): upgrade to 3.4.0 or later; bootstrap (NuGet): upgrade to 3.4.0 or later; bootstrap.sass (NuGet): upgrade to 4.0.0-beta.2 or later; twbs/bootstrap (Packagist): upgrade to 3.4.0 or later; bootstrap (RubyGems): upgrade to 4.0.0-beta.2 or later; bootstrap-sass (RubyGems): upgrade to 3.4.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
- How is CVE-2016-10735 attacked?
- It is attacked over the network, in a software library.
- Am I affected by CVE-2016-10735?
- Check whether you run org.webjars:bootstrap (Maven), bootstrap (npm), bootstrap-sass (npm) or one of the others listed at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.
How to fix
- org.webjars:bootstrap (Maven): upgrade to 3.4.0 or later
# set org.webjars:bootstrap to 3.4.0 in your pom.xml or build.gradle - bootstrap (npm): upgrade to 3.4.0 or later
npm install bootstrap@3.4.0 - bootstrap-sass (npm): upgrade to 3.4.0 or later
npm install bootstrap-sass@3.4.0 - bootstrap (NuGet): upgrade to 3.4.0 or later
dotnet add package bootstrap --version 3.4.0 - bootstrap.sass (NuGet): upgrade to 4.0.0-beta.2 or later
dotnet add package bootstrap.sass --version 4.0.0-beta.2 - twbs/bootstrap (Packagist): upgrade to 3.4.0 or later
composer require twbs/bootstrap:^3.4.0 - bootstrap (RubyGems): upgrade to 4.0.0-beta.2 or later
bundle update bootstrap - bootstrap-sass (RubyGems): upgrade to 3.4.0 or later
bundle update bootstrap-sass
Technical details
This is a cross-site scripting (XSS) vulnerability in Bootstrap's handling of the data-target attribute, a jQuery data attribute used for dynamic collapse and tab navigation. The vulnerable code fails to sanitize or escape the data-target value before using it in DOM operations, allowing an attacker to inject arbitrary HTML and JavaScript. The vulnerability affects Bootstrap 2.x (from 2.0.4 onwards), 3.x (before 3.4.0), and 4.x-beta (before 4.0.0-beta.2). Attack vector is network-based with user interaction required (victim must visit a malicious page or have untrusted data rendered in data-target). An attacker can execute arbitrary JavaScript in the victim's browser context. Patches were released in Bootstrap 3.4.0 and 4.0.0-beta.2, with fixes backported to later versions.
Affected products
- Bootstrap Bootstrap 2.0.4 to 3.3.7, 4.0.0-beta to 4.0.0-beta.1
- Bootstrap bootstrap-sass 2.0.4 to 3.3.7, 4.0.0-beta
Identifiers
- CVE-2016-10735
- GHSA-4p24-vmcr-4gqj
Timeline
- 2016-06-27: disclosed: XSS in data-target attribute reported on GitHub issue #20184
- 2017-08-25: patched: Fix merged for v4 via PR #23679
- 2017-09-14: patched: Fix merged for v3 via PR #23687
- 2018-05-07: patched: Additional fix for tabs via PR #26460 in v3.4.0-dev
- 2019-01-09: advisory: CVE-2016-10735 published on NVD
- 2019-01-17: advisory: GHSA-4p24-vmcr-4gqj published