fix(deps): update dependency maplibre-gl to v6.4.1 [security] - #1879
Open
renovate[bot] wants to merge 1 commit into
Open
fix(deps): update dependency maplibre-gl to v6.4.1 [security]#1879renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
renovate
Bot
force-pushed
the
renovate/npm-maplibre-gl-vulnerability
branch
from
September 10, 2026 19:52
660e69b to
306208c
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
6.3.0→6.4.1MapLibre GL JS: XSS Sanitizer Bypass in DOM.sanitize() via Live NamedNodeMap Removal Skip
CVE-2026-85061 / GHSA-jrc7-96c5-q579
More information
Details
Impact
DOM.sanitize()insrc/util/dom.tsiteratedelem.attributes(a liveNamedNodeMap) while callingelem.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
<details open onload="1" ontoggle="...">). The first attribute is stripped while the second survives and executes upon insertion intoinnerHTMLvia 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 tomaplibre-glversion 6.4.1 (or latest).Workarounds
Sanitizing the attribute field of a source before passing it down to maplibre
Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Release Notes
maplibre/maplibre-gl-js (maplibre-gl)
v6.4.1Compare Source
🐞 Bug fixes
DOM.sanitizeleaving dangerous attributes behind when multiple consecutive attributes are present. Iterating the liveNamedNodeMapfromelem.attributeswhile callingremoveAttributeskipped the attribute directly after a removed one, so a second dangerous attribute (for example anontoggleon a<details open>element) could survive sanitisation and later execute (#8189) (by @0xKirisame)CustomRenderMethodInput.defaultProjectionData.projectionTransition, which was hardcoded to 1 for the whole globe/mercator transition, so a custom layer jumped straight to the fully bent globe while every other layer eased (#8169) (by @mondsichtung)v6.4.0Compare Source
✨ Features and improvements
Array.sort()in cross-tile symbol matching (TileLayerIndex.findMatches), claiming the lowest-index unclaimed candidate in a single pass instead; reduces main-thread symbol-placement cost on dense/coincident symbol layers (#7797) (by @pholmstr)texelFetchfor exact DEM and color-relief elevation stop lookups instead of normalized texture coordinate arithmetic (#7640) (by @johncarmack1984)🐞 Bug fixes
gfx.color_management.mode = 1in Firefox) (#8125) (by @tnikkel)transformRequest, soImageSource.updateImageno longer loses the image it was just handed and an aborted tile is no longer fetched (#8071) (by @mondsichtung)fill-extrusion-rounded-corner-distanceproducing spikes: corner arcs now land on the integer tile grid, and corners created by tile clipping are left sharp (#8153) (by @HarelM)Configuration
📅 Schedule: (in timezone Etc/UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.