GitHub Advisoryadvisory · npm
GHSA-jrc7-96c5-q579 MapLibre GL JS: XSS Sanitizer Bypass in DOM.sanitize() via Live NamedNodeMap Removal Skip
CRITICAL
Official page ↗
- Aliases
- CVE-2026-85061
- Ecosystem
- npm
- Packages
- maplibre-gl
- Severity
- Critical
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N
- Weaknesses
- CWE-79
- Reviewed
- 2026-09-08
Affected packages
• npm maplibre-gl: < 6.4.1 → fixed in 6.4.1
Description
Impact
`DOM.sanitize()` in `src/util/dom.ts` iterated `elem.attributes` (a live `NamedNodeMap`) while calling `elem.removeAttribute()` in the same loop. Removing an attribute shifts subsequent attributes down by one index, causing the iterator to skip the adjacent attribute.
An attacker can provide an HTML payload with consecutive dangerous attributes (such as ``). The first attribute is stripped while the second survives and executes upon insertion into `innerHTML` via the attribution control without requiring user interaction (zero-click XSS).
Applications rendering untrusted/third-party style attribution strings or user-supplied custom attributions are impacted.
Patches
The issue has been resolved by creating a static snapshot of attributes using `Array.from(elem.attributes)` before iteration. Please upgrade to `maplibre-gl` version 6.4.1 (or latest).
Workarounds
Sanitizing the attribute field of a source before passing it down to maplibre
Related
Alias · CVE (1)
- CVE-2026-85061 MapLibre GL JS is an interactive vector tile map library for web browsers. vulnerability
Weakness · CWE (1)
- CWE-79 Improper Neutralization of Input During Web Page Generation weakness
References
- https://github.com/maplibre/maplibre-gl-js/security/advisories/GHSA-jrc7-96c5-q579 web
- https://nvd.nist.gov/vuln/detail/CVE-2026-85061 advisory
- https://github.com/maplibre/maplibre-gl-js/pull/8189 web
- https://github.com/maplibre/maplibre-gl-js/commit/1da69f3cd913a39fa948708e01478663bf48bc27 web
- https://github.com/maplibre/maplibre-gl-js package
- https://github.com/maplibre/maplibre-gl-js/releases/tag/v6.4.1 web