Miggo Logo

CVE-2016-10735:
Bootstrap Cross-site Scripting vulnerability

6.1

CVSS Score

Basic Information

EPSS Score
-
Published
1/17/2019
Updated
8/5/2024
KEV Status
No
Technology
TechnologyJavaScript

Technical Details

CVSS Vector
CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Package NameEcosystemVulnerable VersionsFirst Patched Version
bootstrapnpm>= 4.0.0-beta, < 4.0.0-beta.24.0.0-beta.2
bootstrapnpm>= 2.0.4, < 3.4.03.4.0
org.webjars:bootstrapmaven>= 2.0.4, < 3.4.03.4.0
org.webjars:bootstrapmaven>= 4.0.0-beta, < 4.0.0-beta.24.0.0-beta.2
bootstraprubygems< 4.0.0-beta.24.0.0-beta.2
twbs/bootstrapcomposer>= 2.0.4, < 3.4.03.4.0
twbs/bootstrapcomposer>= 4.0.0-beta, < 4.0.0-beta.24.0.0-beta.2
bootstrapnuget>= 2.0.4, < 3.4.03.4.0
bootstrapnuget>= 4.0.0-beta, < 4.0.0-beta.24.0.0-beta.2
bootstrap-sassnpm>= 2.0.4, < 3.4.03.4.0
bootstrap-sassrubygems>= 2.0.4, < 3.4.03.4.0
bootstrap.sassnuget>= 4.0.0-beta, < 4.0.0-beta.24.0.0-beta.2

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from Bootstrap's JavaScript components insecurely handling the data-target attribute. Analysis of the GitHub pull requests (#23679, #23687, #26460) shows fixes focused on replacing direct jQuery HTML parsing with document.querySelector() and selector validation. Affected components (Carousel, Collapse, Modal, Tab) all processed user-controlled data-target values without proper sanitization, allowing injection of malicious HTML elements containing event handlers. The high confidence comes from explicit security patches in these files and vulnerability reproduction examples demonstrating XSS via data-target attributes.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

In *ootstr*p *.x *rom *.*.*, *.x ***or* *.*.* *n* *.x-**t* ***or* *.*.*-**t*.*, XSS is possi*l* in t** **t*-t*r**t *ttri*ut*. Not* t**t t*is is * *i***r*nt vuln*r**ility t**n *V*-****-*****. S** *ttps://*lo*.**t*ootstr*p.*om/****/**/**/*ootstr*p-*-*

Reasoning

T** vuln*r**ility st*ms *rom *ootstr*p's J*v*S*ript *ompon*nts ins**ur*ly **n*lin* t** **t*-t*r**t *ttri*ut*. *n*lysis o* t** *it*u* pull r*qu*sts (#*****, #*****, #*****) s*ows *ix*s *o*us** on r*pl**in* *ir**t jQu*ry *TML p*rsin* wit* *o*um*nt.qu*r