CVE-2026-115762
ŚrednieCVSS 6.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 6 - wyżej niż 6% wszystkich znanych CVE
Streszczenie
draw.io przed wersją 31.1.5 zawiera podatność typu prototype pollution w dekoderze GraphML. Złośliwy plik GraphML może spowodować zanieczyszczenie prototypu po stronie klienta, co w łańcuchu z cross-site scripting może prowadzić do wykonania skryptu w kontekście draw.io.
Ocena ryzyka
Import złośliwego pliku GraphML może doprowadzić do wykonania dowolnego skryptu w przeglądarce użytkownika, potencjalnie kradzieży danych lub przejęcia sesji. Wymaga interakcji użytkownika z integracją Trello.
Rekomendacja
Zaktualizuj draw.io do wersji 31.1.5 lub nowszej. Unikaj importowania plików GraphML z niezaufanych źródeł.
Inne podatności w draw.io
Zobacz wszystkie- CVE-2026-97373Średnie
draw.io to konfigurowalna aplikacja do tworzenia diagramów i tablic. Przed wersją 30.3.8 opcjonalny punkt końcowy /proxy zawiera niekompletną listę blokad podatności SSRF. Gdy punkt końcowy jest włączony, walidator URL nie odrzuca zakresu adresów współdzielonych RFC 6598 100.64.0.0/10. Nieuwierzytelniony zdalny atakujący może spowodować, że serwer draw.io będzie żądał wewnętrznych usług osiągalnych w tym zakresie, potencjalnie ujawniając dane z adresów Carrier-Grade NAT, Kubernetes, chmury lub sieci overlay.
- CVE-2026-76898Wysokie
W draw.io przed wersją 30.3.8 funkcja Utils.sanitizeUrl() sprawdza adresy IPv6 Unique Local Addresses, porównując prefiksy tekstowe fc00:: i fd00::, ale JDK zwraca rozwiniętą postać adresu, przez co zakres fc00::/7, w tym zakres metadanych AWS fd00:ec2::/32, nie jest blokowany. Nieuwierzytelnione żądanie do /embed2.js?fetch= może spowodować pobranie wewnętrznego zasobu IPv6 ULA i odesłanie odpowiedzi do żądającego.
- CVE-2026-63416Niskie
draw.io przed wersją 30.2.7 w pliku ExportProxyServlet.java używa request.getPathInfo() do budowy proxyPath i dołącza go bezpośrednio do EXPORT_URL bez odrzucania segmentów kropkowych ani weryfikacji, że znormalizowany cel pozostaje w skonfigurowanej ścieżce eksportu. Nieuwierzytelnione żądanie z segmentami traversal może trafić do nieprzewidzianych tras wewnętrznego serwera eksportu, a serwlet przekazuje wszystkie nagłówki i treść żądania, umożliwiając wstrzyknięcie dowolnych nagłówków.
- CVE-2026-63373Średnie
draw.io przed wersją 30.2.7 pomija porównanie stateToken i cookieToken w obsłudze callbacku OAuth, gdy IS_GAE ma wartość false, co dotyczy samodzielnie hostowanych wdrożeń Docker i WAR. Atakujący może dostarczyć kod autoryzacyjny dla swojej tożsamości w chmurze i nakłonić ofiarę do odwiedzenia adresu URL callbacku, powodując uwierzytelnienie sesji ofiary jako tożsamość atakującego.
- CVE-2026-63334Średnie
draw.io przed wersją 30.2.7 w wdrożeniach z ENABLE_DRAWIO_PROXY=1 jest podatny na server-side request forgery, ponieważ sprawdzenie adresu prywatnego w Utils.sanitizeUrl() używa jednego rozwiązania DNS, a ProxyServlet.java później wywołuje URL.openConnection() i wykonuje drugie rozwiązanie. Nazwa hosta kontrolowana przez atakującego może rozwiązać się na adres publiczny podczas walidacji, a następnie na adres prywatny, link-local lub metadanych chmury przy otwieraniu połączenia.
- CVE-2026-58504Średnie
draw.io przed wersją 30.2.5 umożliwia wykonanie skryptów JavaScript w kontekście aplikacji przez otwarcie spreparowanego pliku .drawio. Luka wykorzystuje brak kodowania HTML w etykietach tekstowych, co pozwala na obejście wcześniejszej poprawki CVE-2026-46642. Atakujący może przejąć dane diagramu, ciasteczka (nie-HttpOnly), a nawet wykonać akcje w imieniu ofiary.
- CVE-2026-46642Średnie
Aplikacja draw.io przed wersją 29.7.12 zawiera podatność, która pozwala na wykonanie dowolnego kodu JavaScript poprzez specjalnie przygotowany plik .drawio. Problem występuje w panelu formatu tekstowego, gdzie surowa etykieta komórki jest przypisywana do elementu bez odpowiedniej sanitizacji.
- CVE-2026-42195Niskie
draw.io to konfigurowalna aplikacja do tworzenia diagramów. W wersjach przed 29.7.9 klient draw.io akceptuje parametr URL ?gitlab=, który nadpisuje adres serwera GitLab używanego podczas logowania OAuth. Spreparowany link powoduje, że kliknięcie przez użytkownika w okno "Authorize in GitLab" otwiera popup na hoście kontrolowanym przez atakującego zamiast na gitlab.com, co może prowadzić do wyłudzenia danych uwierzytelniających i eksfiltracji tokenu stanu sesji. Problem naprawiono w wersji 29.7.9.
Oryginalny opis (angielski, źródło NVD)
draw.io is a configurable diagramming and whiteboarding application. Prior to 31.1.5, the GraphML decoder contains a prototype-pollution vulnerability. Attacker-controlled GraphML reference keys can address inherited object properties, including prototype objects, and the decoder can then assign attacker-controlled attributes to those objects. Importing a malicious GraphML file can trigger client-side prototype pollution. In the advisory-supported cross-site scripting chain, the editor is opened in Trello mode and the user invokes the Trello integration after the import, allowing the polluted state to execute script in the draw.io origin; an existing Trello connection is not required. This vulnerability is fixed in 31.1.5.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

