---
id: CVE-2026-103030
title: Dio is a powerful HTTP client for Dart and Flutter
summary: >-
  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 th…
severity: high
cvss: 7.5
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N'
cwe:
  - CWE-200
published: '2026-10-13'
updated: '2026-10-13'
sourceUpdated: '2026-10-13T18:17:12.530'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-103030'
references:
  - url: >-
      https://github.com/cfug/dio/commit/9d7ac913340084f3b4987b121e076f28d637a81e
    label: security-advisories@github.com
  - url: 'https://github.com/cfug/dio/releases/tag/http2_adapter_v2.8.0'
    label: security-advisories@github.com
  - url: 'https://github.com/cfug/dio/security/advisories/GHSA-cr65-55v9-xhvv'
    label: security-advisories@github.com
  - url: 'https://github.com/cfug/dio/security/advisories/GHSA-cr65-55v9-xhvv'
    label: 134c704f-9b21-4f2e-91b3-4a467353bcc0
tags:
  - nvd
ingestedAt: '2026-10-13T17:38:53.176Z'
---

## Overview

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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
