6.8 MEDIUM
- CVSS version (CVSS): 3.1
- Attack Vector (AV): Network (N)
- Attack Complexity (AC): High (H)
- Privileges Required (PR): None (N)
- User Interaction (UI): None (N)
- Scope (S): Changed (C)
- Confidentiality (C): High (H)
- Integrity (I): None (N)
- Availability (A): None (N)
- Modified Attack Vector (MAV): Network (N)
- Modified Attack Complexity (MAC): High (H)
- Modified Privileges Required (MPR): None (N)
- Modified User Interaction (MUI): None (N)
- Modified Confidentiality (MC): High (H)
- Modified Scope (MS): Changed (C)
- Modified Integrity (MI): None (N)
- Modified Availability (MA): None (N)
Activity log
- Created suggestion
draw.io: SSRF via DNS rebinding in ProxyServlet bypasses private IP blocklist
draw.io is a configurable diagramming and whiteboarding application. Prior to version 30.2.7, deployments with ENABLE_DRAWIO_PROXY=1 are vulnerable to server-side request forgery because src/main/java/com/mxgraph/online/Utils.java performs the private-address check in Utils.sanitizeUrl() using one DNS resolution, while src/main/java/com/mxgraph/online/ProxyServlet.java later calls URL.openConnection() and performs a second resolution. An attacker-controlled hostname can resolve to a public address during validation and then to a private, link-local, or cloud metadata address when the connection is opened. Successful exploitation can return cloud instance metadata or responses from internal HTTP services through the proxy. This issue is fixed in version 30.2.7.
References
-
https://github.com/jgraph/drawio/security/advisories/GHSA-3v4h-8r2c-m8c5 x_refsource_CONFIRM
-
https://github.com/jgraph/drawio/releases/tag/v30.2.7 x_refsource_MISC
Affected products
- ==< 30.2.7
Matching in nixpkgs
pkgs.drawio
Desktop version of draw.io for creating diagrams
pkgs.drawio-headless
xvfb wrapper around drawio
pkgs.pandoc-drawio-filter
Pandoc filter which converts draw.io diagrams to PDF
pkgs.python313Packages.mkdocs-drawio-file
Embedding files of Diagrams.net (Draw.io) into MkDocs
pkgs.python314Packages.mkdocs-drawio-file
Embedding files of Diagrams.net (Draw.io) into MkDocs
pkgs.vscode-extensions.hediet.vscode-drawio
This unofficial extension integrates Draw.io into VS Code
pkgs.python313Packages.mkdocs-drawio-exporter
Module for exporting Draw.io diagrams
pkgs.python314Packages.mkdocs-drawio-exporter
Module for exporting Draw.io diagrams
Package maintainers
-
@DarkOnion0 Alexandre Peruggia <darkgenius1@protonmail.com>
-
@tfc Jacek Galowicz <jacek@galowicz.de>
-
@snpschaaf Philippe Schaaf <philipe.schaaf@secunet.com>
-
@TheMaxMur Maxim Muravev <muravjev.mak@yandex.ru>