Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft draw.io URL with malicious ?gitlab= parameter
-
DeliveryDeliver link to target via phishing channel
-
ExploitVictim opens crafted draw.io URL
-
ExecutionVictim clicks 'Authorize in GitLab' dialog
-
PersistOAuth popup opens on attacker-controlled host
-
ImpactAttacker captures credentials or OAuth state token
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V3 - Web Frontend Security Redirect URL validation
MITRE ATT&CK
1 technique across 1 tactic: Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires the victim to have access to a draw.io instance with GitLab OAuth sign-in available AND to actively click the 'Authorize in GitLab' dialog after following a crafted link containing the |
| Impact | The provided CVSS 3.1 vector AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:N/A:N yields a Low score of 3.4, which is broadly consistent with real-world risk signals. The high attack complexity (AC:H) reflects the social engineering prerequisite - the attacker must convince a target to follow a crafted link while intending to sign in via GitLab. EPSS at 0.03% (8th percentile) and SSVC 'Exploitation: none, Automatable: no' both confirm no observed mass exploitation. The scope change (S:C) acknowledges that the confidentiality impact crosses into the OAuth/GitLab session context, a reasonable reflection of token exfiltration risk. Critically, the numeric CVSS score of 3.4 may understate targeted-attack risk: stolen OAuth tokens or credentials can enable full GitLab account takeover regardless of the low CVSS. The 'no public exploit identified' status and 'Automatable: no' designation limit concern for now, but the attack surface - shareable diagram URLs with embedded parameters - is inherently suited to spear-phishing campaigns. No conflict exists between data sources on exploitation status. |
| Exploit ScenarioDerived | An attacker crafts a draw.io sharing URL such as |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 23, 2026
Open redirect in draw.io's GitLab OAuth flow allows an attacker to hijack the authorization popup by supplying a crafted ?gitlab= URL parameter, replacing the legitimate GitLab server with an attacker-controlled host. All draw.io versions prior to 29.7.9 are affected; users who follow a crafted link and click through the 'Authorize in GitLab' dialog expose their credentials and OAuth state tokens to the attacker's phishing endpoint. No public exploit has been identified and CISA has not listed this in KEV, but the social-engineering barrier is low given draw.io's shareable-URL model.
RemediationAI
Upgrade draw.io to version 29.7.9 or later; this is the vendor-confirmed patch, available at https://github.com/jgraph/drawio/releases/tag/v29.7.9 and documented in the security advisory at https://github.com/jgraph/drawio/security/advisories/GHSA-8x7j-m8px-7p8x. For self-hosted draw.io deployments where immediate upgrade is not feasible, operators can mitigate by stripping the ?gitlab= query parameter at the reverse proxy or WAF layer - note this will break self-hosted GitLab OAuth integrations where a custom server URL is legitimately needed, so evaluate the trade-off carefully before applying. For draw.io Online (diagrams.net) or desktop clients, parameter stripping is not operator-controllable, making the upgrade the only reliable fix. User awareness training on verifying OAuth popup origins (confirming the popup URL is gitlab.com before entering credentials) provides a weak but additive compensating control.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
CWE-601 (URL Redirection to Untrusted Site) describes this root cause precisely: the draw.io client-side application accepts the ?gitlab= query parameter and passes it unsanitized into the OAuth popup initialization logic, substituting it for the expected gitlab.com endpoint without origin validation. The affected component is the client-side OAuth integration within draw.io's diagramming frontend, identified under CPE cpe:2.3:a:jgraph:drawio:*:*:*:*:*:*:*:* for all releases before 29.7.9. The GitLab OAuth flow relies on a popup window that must open on the identity provider's origin; bypassing this to an attacker-controlled host breaks the trust boundary the OAuth protocol depends on, enabling both credential phishing and interception of the OAuth state token.
Know when Open Redirect gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:N/A:N
Network-delivered via crafted URL, no attacker privileges required, but AC:H due to social engineering; scope changes to OAuth context with limited confidentiality loss only.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
draw.io is a configurable diagramming and whiteboarding application. Prior to version 29.7.9, the draw.io client accepts a ?gitlab= URL parameter that overrides the GitLab server URL used during OAuth sign-in. A crafted link causes the user's click on draw.io's "Authorize in GitLab" dialog to open a popup on the attacker-controlled host instead of gitlab.com. This can lead to credential fishing and session state token exfiltration. This issue has been patched in version 29.7.9.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
More in Open Redirect
View allA malicious third-party can give a crafted "ssh://..." URL to an unsuspecting victim, and an attempt to visit the URL ca
GFI Kerio Control versions 9.2.5 through 9.4.5 contain an HTTP response splitting vulnerability in the dest parameter of
PHP through 7.0.8 does not attempt to address RFC 3875 section 4.1.18 namespace conflicts and therefore does not protect
Multiple open redirect vulnerabilities in Apache Struts 2.0.0 through 2.3.15 allow remote attackers to redirect users to
When the default servlet in Apache Tomcat versions 9.0.0.M1 to 9.0.11, 8.5.0 to 8.5.33 and 7.0.23 to 7.0.90 returned a r
Open redirect vulnerability in age-verification.php in the Age Verification plugin 0.4 and earlier for WordPress allows
Open redirect vulnerability in Kaseya Virtual System Administrator (VSA) 7.x before 7.0.0.29, 8.x before 8.0.0.18, 9.0 b
Vulnerability in the Oracle Applications Framework component of Oracle E-Business Suite (subcomponent: Popup windows (li
Unspecified vulnerability in the Oracle Application Server Single Sign-On component in Oracle Fusion Middleware 10.1.4.3
Flarum is open source discussion platform software. Rated medium severity (CVSS 6.5), this vulnerability is remotely exp
Open redirect vulnerability in Novius OS 5.0.1 (Elche) allows remote attackers to redirect users to arbitrary web sites
Open redirect vulnerability in the Redirect function in stageshow_redirect.php in the StageShow plugin before 5.0.9 for
EUVD-2026-28833
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB