CVE-2026-76898CWE-918ssrf

CVE-2026-76898

published September 21, 2026

CVSS
7.7
EPSS
0%
Percentile
27.5
In the wild
Unconfirmed
What it is

draw.io is a configurable diagramming and whiteboarding application. Prior to version 30.3.8, src/main/java/com/mxgraph/online/Utils.java checks IPv6 Unique Local Addresses in Utils.sanitizeUrl() by comparing the text prefixes fc00:: and fd00::, but the JDK returns the expanded address form, so the fc00::/7 range, including the AWS metadata range fd00:ec2::/32, is not blocked. An unauthenticated request to /embed2.js?fetch= can therefore make src/main/java/com/mxgraph/online/EmbedServlet2.java fetch an IPv6 ULA internal resource and reflect the response to the requester. Utils.validatedAddress() uses the same private-address check for the separate ProxyServlet path, which requires ENABLE_DRAWIO_PROXY=1. The primary /embed2.js path requires no proxy feature flag or DNS rebinding, and it can disclose cloud metadata credentials or data from other IPv6-reachable internal services. This issue is fixed in version 30.3.8.

The record
Technical detail
CVSS
7.7 · NONE
CVSS v4.0
7.7 · CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:H/SI:N/SA:N
EPSS
0.00351 · 27.5th percentile
Weakness
CWE-918 · Server-Side Request Forgery (SSRF)
Published
2026-09-21T21:18Z
References (4)
EPSS history
Timeline
  • 23 SEP 03:48Z
    EPSS moved — → 0%
    epss
  • 21 SEP 16:31Z
    draw.io: Unauthenticated SSRF via IPv6 ULA blocklist bypass in /embed2.js
    cvelistv5