GrapheneOS
CVE-2026-45182
LOW
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessInstall malicious local application
-
DeliveryInvoke registerQuicConnectionClosePayload
-
ExploitRequest system_server UDP transmission
-
ExecutionBypass VPN routing rules
-
PersistTransmit packet to attacker server
-
ImpactReveal real IP address
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service Proxy/intermediary controls
|
| Exploitation Conditions | Exploitation requires three specific preconditions be met simultaneously: (1) the user has enabled both 'Block connections without VPN' AND 'Always-on VPN' settings in Android's VPN configuration menu, (2) a malicious or compromised application with local code execution capability is installed on the device and has the ability to invoke registerQuicConnectionClosePayload system calls, and (3) the attacker must trigger the vulnerable code path, which occurs during QUIC connection close events and requires either crafted network conditions or specific application state manipulation (AC:H). The vulnerability does NOT affect users with only 'Block connections without VPN' enabled (without Always-on VPN), does NOT affect systems using non-QUIC protocols, and does NOT affect uncompromised applications that do not invoke this optimization. Authentication to the system is NOT required because the exploit operates from a local app with standard user privileges (PR:L), but user interaction may be required to allow the app to reach the vulnerable code path (UI:R). |
| Impact | This vulnerability presents a moderate information security risk masked by a very low CVSS score (2.2). The CVSS vector (AV:L/AC:H/PR:L/UI:R/S:U/C:L/I:N/A:N) correctly captures that exploitation requires local access, low privileges, high complexity, and user interaction with only confidentiality impact limited to the user's scope. However, the real-world risk is higher for targeted users: VPN leakage directly contradicts the security model users assume when enabling 'Block connections without VPN' and 'Always-on VPN' settings. The vulnerability is not actively exploited (no KEV listing), but a proof-of-concept exists via the published blog post link (lowlevel.fun), indicating technical feasibility. The high AC:H rating suggests attackers must craft specific QUIC close conditions or application states, reducing widespread exploitation probability. For users with sensitive threat models (journalists, activists), IP leakage is a critical privacy breach despite low CVSS; for typical users, the combination of required local access and high complexity limits practical risk. No EPSS score provided, but threat modeling suggests this is a targeted rather than mass-exploitation vulnerability. The disconnect between CVSS and real privacy impact illustrates why CVSS alone is insufficient for VPN security decisions. |
| Exploit ScenarioDerived | An attacker with local access to an Android device (via social engineering, physical access, or prior compromise) installs a malicious application. The user has enabled 'Block connections without VPN' and 'Always-on VPN' settings, believing their traffic is fully protected. The malicious app crafts a QUIC close payload and triggers the registerQuicConnectionClosePayload method, requesting that system_server send UDP packets to a remote server controlled by the attacker. Because system_server operates outside per-app VPN routing, the UDP packets bypass the VPN tunnel and reveal the device's real IP address to the attacker's server, which logs it. The user believes they are anonymized via VPN, but the attacker has acquired their true IP address. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – May 09, 2026
GrapheneOS versions before 2026050400 leak the real IP address of VPN users through a registerQuicConnectionClosePayload optimization that allows applications to request system_server transmit UDP traffic on their behalf, bypassing VPN confinement when both 'Block connections without VPN' and 'Always-on VPN' are enabled. This information disclosure affects users relying on VPN privacy protections and requires local access with user interaction to trigger, resulting in a CVSS 2.2 score despite the privacy-sensitive nature of IP address leakage.
RemediationAI
Users must upgrade to GrapheneOS build 2026050400 or later, which patches the registerQuicConnectionClosePayload optimization to prevent application-initiated system_server UDP transmission outside the VPN tunnel. The patch is available via the standard GrapheneOS release mechanism (grapheneos.org/releases#2026050400). There are no documented workarounds that maintain QUIC functionality; users seeking immediate mitigation must disable 'Always-on VPN' if they cannot upgrade, though this reduces VPN enforcement to opt-in mode and does not fully eliminate the vulnerability if applications can still request system_server delegation. As a temporary measure pending upgrade, users can disable QUIC support in applications if available in app settings, though this is not a reliable defense since QUIC is increasingly transparent to applications. Blocking UDP port 53 and 443 at the network level may reduce outbound UDP leakage but will not prevent the vulnerability and will break legitimate QUIC traffic.
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
GrapheneOS implements VPN enforcement through Android's VPN framework, which typically routes all application traffic through the VPN tunnel. The vulnerability exploits a QUIC connection close optimization in registerQuicConnectionClosePayload that allows applications to delegate UDP transmission to system_server, a privileged system process. This delegation mechanism can bypass the per-application VPN routing controls because system_server operates outside the normal per-app VPN constraints. The root cause (CWE-441: Unintended Proxy/Intermediary) occurs because an unprivileged application can manipulate a privileged process (system_server) into performing network operations outside the VPN tunnel. The vulnerability is specific to GrapheneOS's implementation of this QUIC optimization and affects the fundamental assumption that system_server traffic respects per-app VPN routing policies.
Know when Grapheneos 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:L/AC:H/PR:L/UI:R/S:U/C:L/I:N/A:N
Primary rating from Vendor (mitre) · only source for this CVE.
CVSS VectorVendor: mitre
DescriptionCVE.org
GrapheneOS before 2026050400 allows attackers to discover the real IP address of a VPN user as a consequence of a registerQuicConnectionClosePayload optimization, because an application can let system_server transmit UDP traffic on its behalf. This occurs when the "Block connections without VPN" and "Always-on VPN" settings are enabled.
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
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
NVD
CVE.org
EPSS
Vulnrichment
GitHub PoC
Exploit-DB