CVE-2026-97373
Received Received - Intake

draw.io SSRF via Incomplete Proxy Endpoint Blocklist

Vulnerability report for CVE-2026-97373, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-11-04

Last updated on: 2026-11-04

Assigner: GitHub, Inc.

Description

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.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-11-04
Last Modified
2026-11-04
Generated
2026-11-05
AI Q&A
2026-11-05
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
jgraph drawio < 30.3.8

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-918 The web server receives a URL or similar request from an upstream component and retrieves the contents of this URL, but it does not sufficiently ensure that the request is being sent to the expected destination.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This is a Server-Side Request Forgery (SSRF) vulnerability in draw.io versions before 30.3.8. The /proxy endpoint has an incomplete blocklist for private IP ranges. It fails to block the RFC 6598 Carrier-Grade NAT range 100.64.0.0/10, allowing attackers to send requests to internal services within this range. The vulnerability enables unauthenticated access to internal network services like Kubernetes pods or cloud endpoints.

Detection Guidance

Check if the draw.io server is running a vulnerable version (29.6.4 or earlier) by inspecting the application version. Verify if the /proxy endpoint is enabled by checking environment variables like ENABLE_DRAWIO_PROXY=1. Monitor network traffic for requests to the 100.64.0.0/10 range via logs or packet inspection tools like tcpdump or Wireshark.

Impact Analysis

An attacker could exploit this to access internal services in your network, potentially exposing sensitive data from Kubernetes pods, cloud services, or overlay networks. This could lead to data breaches, unauthorized access to internal APIs, or further network compromise if internal services are vulnerable.

Compliance Impact

This vulnerability could lead to unauthorized access to sensitive data, violating GDPR's data protection requirements or HIPAA's safeguards for protected health information. Organizations using affected draw.io versions may face compliance violations if internal data is exposed due to this SSRF flaw.

Mitigation Strategies

Upgrade draw.io to version 30.3.8 or later to apply the SSRF protection fixes. Disable the /proxy endpoint if not required by setting ENABLE_DRAWIO_PROXY=0. Add the 100.64.0.0/10 range to the SSRF blocklist if using a custom configuration. Implement structured subnet checks instead of string-based blocklists for broader coverage.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-97373. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart

Security Radar

News mentioning this vulnerability
Loading related security news...