Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2026-76898— draw.io: Unauthenticated SSRF via IPv6 ULA blocklist bypass in /embed2.js

Quick assessment

Affected
jgraph drawio
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

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 re

CVSS 7.7 · High EPSS 0.28% · P20

Affected Version Matrix 1

VendorProduct Version RangeStatus
jgraph drawio < 30.3.8 affected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-76898

Vulnerability Information

Shenlong is analyzing...


Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
draw.io: Unauthenticated SSRF via IPv6 ULA blocklist bypass in /embed2.js
Source: CVE Program / CVE List V5
Vulnerability Description
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.
Source: CVE Program / CVE List V5
CVSS Information
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
Source: CVE Program / CVE List V5
Vulnerability Type
服务端请求伪造(SSRF)
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
jgraph drawio < 30.3.8 -

II. Public POCs for CVE-2026-76898

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-76898

登录查看更多情报信息。

Other References for CVE-2026-76898 (2)

Same Patch Batch · jgraph · 2026-09-21 · 5 CVEs total

CVE-2026-63334 6.8 MEDIUM draw.io: SSRF via DNS rebinding in ProxyServlet bypasses private IP blocklist
CVE-2026-58504 6.1 MEDIUM draw.io: Stored XSS on file open via editable=0 sibling cell — patch bypass of CVE-2026-46
CVE-2026-63373 4.2 MEDIUM draw.io: OAuth CSRF via missing state validation on self-hosted deployments allows session
CVE-2026-63416 3.7 LOW draw.io: Path traversal in ExportProxyServlet allows access to arbitrary backend endpoints

IV. Related Vulnerabilities

V. Comments for CVE-2026-76898

No comments yet


Leave a comment