CVE-2026-97373
ŚrednieCVSS 5.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 16 - wyżej niż 16% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Atakujący może uzyskać dostęp do wewnętrznych usług i ujawnić poufne dane z sieci wewnętrznych, w tym środowisk chmurowych i Kubernetes. Może to prowadzić do dalszej eskalacji ataku.
Rekomendacja
Zaktualizuj draw.io do wersji 30.3.8 lub nowszej. Jeśli punkt końcowy /proxy nie jest potrzebny, wyłącz go.
Inne podatności w draw.io
Zobacz wszystkie- CVE-2026-115762Średnie
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.
- 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 30.3.8, the optional /proxy endpoint contains an incomplete server-side request forgery blocklist. When the endpoint is enabled, the URL validator does not reject the RFC 6598 shared address range 100.64.0.0/10. An unauthenticated remote attacker can cause the draw.io server to request internal services that are reachable in this range, potentially disclosing data from Carrier-Grade NAT, Kubernetes, cloud, or overlay-network addresses. This vulnerability is fixed in 30.3.8.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

