Katalog CVE

CVE-2026-85061

KrytyczneCVSS 10.0
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

MapLibre GL JS przed wersją 6.4.1 zawiera podatność w funkcji DOM.sanitize() w src/util/dom.ts, która iteruje elem.attributes jako żywą NamedNodeMap, podczas gdy removeAttributes() usuwa atrybuty z tej samej kolekcji, przesuwając indeksy i pomijając niebezpieczny atrybut. Atakujący kontrolujący nieufane ciągi atrybucji lub niestandardowe atrybucje może dostarczyć kolejne niebezpieczne atrybuty, takie jak onload lub ontoggle, które przetrwają sanityzację i wykonają się po wstawieniu do innerHTML. Ofiara musi wyrenderować mapę, aby skrypt się wykonał. Problem naprawiono w wersji 6.4.1.

Ocena ryzyka

Atakujący może wykonać skrypt w kontekście przeglądarki ofiary, co może prowadzić do kradzieży danych, przejęcia sesji lub innych ataków typu XSS.

Rekomendacja

Zaleca się natychmiastową aktualizację MapLibre GL JS do wersji 6.4.1 lub nowszej oraz unikanie renderowania nieufnych treści atrybucji.

Powiązane podatności

Oryginalny opis (angielski, źródło NVD)

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.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS