CVE-2026-85061
CVE-2026-85061 · MapLibre GL JS: XSS Sanitizer Bypass in DOM.sanitize() via Live NamedNodeMap Removal Skip
This page contains facts from public vulnerability sources. Check the original advisory before updating.
MapLibre GL JS is an interactive vector tile map library for web browsers. Prior to 6.4.1, DOM.sanitize() in src/util/dom.ts iterates elem.attributes as a live NamedNodeMap while removeAttributes() removes attributes from the same collection, shifting indexes and skipping an adjacent dangerous attribute. An attacker who controls untrusted third-party style attribution strings or user-supplied custom attributions can supply consecutive dangerous attributes, causing an attribute such as onload or ontoggle to survive sanitization and execute when the attribution control inserts the content into innerHTML. A victim must render the affected map content for the script to execute. This issue is fixed in version 6.4.1.
CVSS 10.0 · Critical · EPSS 0.5% · Fix available
- Published
- Updated
Stack: node
Affected products and versions
maplibre-gl-js
- Versions
- < 6.4.1: Affected
No fix published
maplibre-gl npm
- Affected ranges
- SEMVER: < 6.4.1
Update to 6.4.1
Original sources
- https://github.com/maplibre/maplibre-gl-js/security/advisories/GHSA-jrc7-96c5-q579
- https://github.com/maplibre/maplibre-gl-js/pull/8189
- https://github.com/maplibre/maplibre-gl-js/commit/1da69f3cd913a39fa948708e01478663bf48bc27
- https://github.com/maplibre/maplibre-gl-js/releases/tag/v6.4.1
- https://nvd.nist.gov/vuln/detail/CVE-2026-85061