Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessApp sends authenticated HTTP/2 request
-
DeliveryServer returns cross-origin Location redirect
-
ExploitAdapter copies original headers unchanged
-
ExecutionCredentials replayed to attacker origin
-
ImpactAttacker harvests Authorization/Cookie tokens
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V14 - Data Protection Data exposure prevention
MITRE ATT&CK
2 techniques across 2 tactics: Collection, Discovery The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that the application (a) uses dio_http2_adapter (Http2Adapter) - an optional HTTP/2 plugin, not Dio's default adapter - on a vulnerable version between 1.0.0 and 2.8.0, (b) attaches sensitive headers (Authorization, Cookie, Cookie2, Proxy-Authorization, Proxy-Authenticate, or WWW-Authenticate) to its requests, and (c) follows redirects, which is enabled by default. The attacker must control or compromise the contacted server, or sit on-path, in order to return a cross-origin (different scheme, host, or port) Location redirect. Limiting factors: no effect on apps that do not send credentialed requests through the HTTP/2 adapter, do not follow redirects, or whose servers never issue cross-origin redirects; same-origin redirects are unaffected. No special non-default toggle is needed beyond using the plugin with authenticated requests. |
| Impact | Signals are moderate and mutually consistent, pointing to a credible but conditional risk rather than a mass-exploitation emergency. The NVD CVSS vector (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N, 7.5) scores a network, low-complexity, unauthenticated, high-confidentiality issue with no integrity or availability impact - accurate for a credential-leak flaw. No EPSS score was provided in the input, so exploitation probability cannot be quantified here. The vulnerability is NOT on CISA KEV and there is no public exploit identified at time of analysis; the only exploitation evidence is the vendor's own regression test suite in the fix commit, which demonstrates the leak but is not a weaponized POC. No SSVC decision data was supplied. The key tension is the threat model: this is a client-side library flaw, so the 'attacker' must be the remote server the Flutter/Dart application already contacts (or a MITM able to inject a Location header), and it only matters when the app sends Authorization/Cookie/Proxy-Authorization headers via the HTTP/2 adapter and follows a cross-origin redirect. That makes it a targeted credential-interception issue dependent on application behavior, not a wormable remote code execution. Net: real and worth patching for anyone using dio_http2_adapter with authenticated requests, but driven by deployment specifics rather than broad opportunistic scanning. |
| Exploit ScenarioDerived | A Flutter app uses dio_http2_adapter to call an API over HTTP/2 with an Authorization bearer token. A malicious or compromised server (or an on-path attacker injecting a 3xx response) returns a cross-origin Location redirect to attacker.example; the adapter follows it and replays the original Authorization, Cookie, and Proxy-Authorization headers to the attacker's origin, disclosing the credentials. No public exploit is identified, though the vendor's fix commit includes tests that reproduce the cross-origin header leak. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 13, 2026
Cross-origin redirect handling in the dio_http2_adapter plugin for Dart/Flutter copies sensitive request headers to a different origin, leaking Authorization, Cookie, Cookie2, Proxy-Authorization, Proxy-Authenticate, and WWW-Authenticate values to any server an application is redirected to. All versions from 1.0.0 up to (but excluding) 2.8.0 are affected, and only applications that use Http2Adapter (an optional HTTP/2 plugin, not Dio's default adapter) while sending credentialed requests and following redirects - which is on by default - are exposed; the attacker must control or compromise the contacted server or sit on-path to return the cross-origin Location header. The issue is unauthenticated from the attacker's perspective (CVSS:3.1/AV:N/AC:L/PR:N/UI:N, 7.5, confidentiality-only impact) and there is no public exploit identified at time of analysis and no CISA KEV listing; the vendor-released patch is http2_adapter 2.8.0.
RemediationAI
Vendor-released patch: upgrade the http2_adapter plugin to version 2.8.0 (or later), which adds a scheme/host/port origin comparison in Http2Adapter._fetch and strips sensitive headers on cross-origin redirects; update the dependency in pubspec.yaml and verify the resolved version in pubspec.lock, since the plugin versions independently from dio core. The fix is captured in commit 9d7ac913340084f3b4987b121e076f28d637a81e and released at https://github.com/cfug/dio/releases/tag/http2_adapter_v2.8.0, with details in advisory GHSA-cr65-55v9-xhvv. If an immediate upgrade is not possible, set followRedirects to false on requests that carry credentials and handle 3xx responses manually so you can re-issue the request with a clean header set - the trade-off is added application logic and the loss of automatic redirect handling, which can break flows that depend on transparent redirects. Disabling Http2Adapter in favour of Dio's default adapter removes the flaw but forfeits HTTP/2 performance benefits such as multiplexing. Scoping credentials narrowly (per-request headers rather than a global interceptor, and short-lived tokens) limits the value of any leaked value but does not close the leak itself, and it should be treated as a defence-in-depth measure rather than a substitute for the upgrade.
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
dio_http2_adapter is a plugin that adds an HTTP/2 transport to Dio, the widely used Dart and Flutter HTTP client. In the affected code path, Http2Adapter._fetch resolves a redirect Location into an absolute URI and rebuilds the outgoing request via RequestOptions.copyWith, which retains the full header map without ever comparing the source and destination origins. Because RequestOptions carries the caller's headers wholesale, credentials attached for the original host are replayed verbatim to whatever host, scheme, or port the redirect names - root cause class CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor). The upstream fix introduces an origin check (_isSameOrigin comparing scheme, host, and port) and, when the redirect target is cross-origin, removes a fixed denylist of sensitive headers (authorization, www-authenticate, cookie, cookie2, proxy-authorization, proxy-authenticate) from the redirected options before dispatch; the accompanying tests exercise differing host, scheme, port, subdomain, network-path ('//host/path') redirects as well as same-origin cases that must keep their headers. It is worth noting this only affects the HTTP/2 adapter; Dio's default IOHttpClientAdapter performs its own header stripping and is not impacted by this specific flaw.
Know when Dio 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:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Network-reachable leak needing no privileges or user interaction with redirect-following on by default (AV:N/AC:L/PR:N/UI:N); only credential confidentiality is lost (C:H, I:N, A:N).
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Dio is a powerful HTTP client for Dart and Flutter. From 1.0.0 until 2.8.0, dio_http2_adapter follows redirects in Http2Adapter._fetch by copying the original RequestOptions.headers into the redirected HTTP/2 request without comparing the source and destination origins. A server contacted by an application can return a cross-origin Location redirect to a different-origin destination, which then receives preserved Authorization, Cookie, and Proxy-Authorization headers because RequestOptions.copyWith retains the full header map. The issue applies when applications use Http2Adapter for authenticated requests, and redirect following is enabled by default. This issue is fixed in version 2.8.0.
Technical POC Analysis
CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor): a credential-forwarding flaw on cross-origin redirect, i.e.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Applications built with Flutter/Dart that use the optional dio_http2_adapter HTTP/2 plugin (versions 1.0.0 through 2.7.x) can silently forward authentication tokens and session cookies to any third-party server an application is redirected to, because cross-origin redirects copy sensitive headers instead of stripping them. Any credentialed request that follows a redirect is exposed, meaning customer sessions, API keys, and backend credentials handled by our mobile or web clients could be captured by an attacker-controlled or compromised endpoint. Leadership should care because this is a client-side credential disclosure path affecting our own users' sessions and our service-to-service credentials, with remediation cost concentrated in a library upgrade and client re-release.
Apply vendor patch.
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.
EUVD-2026-98921
GHSA-cr65-55v9-xhvv
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB