Description
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.
Published: 2026-10-13
Score: 7.5 High
EPSS: < 1% Very Low
KEV: No
Impact: Confidentiality breach via header leakage
Action: Immediate Patch
AI Analysis

Impact

This vulnerability in the Dio HTTP client allows a server to force an application to follow a cross‑origin redirect while preserving sensitive request headers. The redirect occurs without checking whether the destination origin matches the source, so Authorization, Cookie, and Proxy‑Authorization headers can be sent to an untrusted domain, exposing authentication credentials and potentially enabling credential theft or session hijacking.

Affected Systems

The flaw affects the Dio package, released by cfug, for Dart/Flutter developers. Versions from 1.0.0 up to, but not including, 2.8.0 are susceptible when the Http2Adapter component is used and the default redirect‑following behavior is enabled.

Risk and Exploitability

The issue has a CVSS score of 7.5, indicating a high severity. The EPSS score is unavailable, so the exact likelihood of exploitation remains unclear, and the vulnerability is not listed in CISA's KEV catalog. An attacker who can control a server that the client contacts could issue a Location header pointing to a malicious domain; because the client blindly copies all headers, credentials may be exposed to that domain. This scenario requires network access to the application or the ability to inject a redirect response, making it a medium‑to‑high risk for applications that rely on authenticated Http2Adapter requests.

Generated by OpenCVE AI on October 13, 2026 at 17:55 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Dio to version 2.8.0 or later, which removes the header‑copying behavior when following redirects.
  • If an upgrade cannot be performed immediately, disable automatic redirect following or configure the Http2Adapter to reject redirects to different origins.
  • Implement a custom redirect handler that explicitly drops or sanitizes Authorization, Cookie, and Proxy‑Authorization headers before forwarding a request to a new origin.

Generated by OpenCVE AI on October 13, 2026 at 17:55 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-cr65-55v9-xhvv Dio: Cross-origin redirect leaks sensitive request headers in `dio_http2_adapter`
History

Thu, 22 Oct 2026 09:30:00 +0000

Type Values Removed Values Added
First Time appeared Cfug
Cfug dio
Vendors & Products Cfug
Cfug dio

Tue, 13 Oct 2026 18:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Tue, 13 Oct 2026 16:45:00 +0000

Type Values Removed Values Added
Description 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.
Title Dio: Cross-origin redirect leaks sensitive request headers in `dio_http2_adapter`
Weaknesses CWE-200
References
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-13T17:53:14.033Z

Reserved: 2026-09-29T21:13:24.032Z

Link: CVE-2026-103030

cve-icon Vulnrichment

Updated: 2026-10-13T17:52:48.959Z

cve-icon NVD

Status : Deferred

Published: 2026-10-13T17:17:14.953

Modified: 2026-10-16T20:04:29.760

Link: CVE-2026-103030

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-22T09:08:26Z

Weaknesses
  • CWE-200

    Exposure of Sensitive Information to an Unauthorized Actor