Skip to content
OpenAdvisories
Critical · 10.0 CVE-2026-85061 EUVD-2026-70734GHSA-jrc7-96c5-q579

MapLibre GL JS: XSS Sanitizer Bypass in DOM.sanitize() via Live NamedNodeMap Removal Skip

Published Sep 3, 2026 · Updated Sep 4, 2026 · Assigned by GitHub_M

Description

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.

Affected products

VendorProductAffectedFixed
maplibre maplibre-gl-js < 6.4.1 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

Wolfi

ReleasePackageFixed inAdvisory
Wolfi rolling opensearch-dashboards-3-dashboards-maps 3.9.0-r0 —
Wolfi rolling tileserver-gl 5.7.0-r0 —

Affected packages

EcosystemPackageAffectedFixedRecord
npm maplibre-gl < 6.4.1 6.4.1 GHSA-jrc7-96c5-q579

Advisories 1

References