<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://db.gcve.eu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Tue, 27 Oct 2026 22:39:36 +0000</lastBuildDate>
    <item>
      <title>fkie_cve-2026-103030</title>
      <link>https://db.gcve.eu/vuln/fkie_cve-2026-103030</link>
      <description>&lt;p&gt;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.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;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.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/fkie_cve-2026-103030</guid>
    </item>
    <item>
      <title>GHSA-cr65-55v9-xhvv — Dio: Cross-origin redirect leaks sensitive request headers in `dio_http2_adapter`</title>
      <link>https://db.gcve.eu/vuln/ghsa-cr65-55v9-xhvv</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Pub: dio_http2_adapter&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;`dio_http2_adapter` follows HTTP `Location` redirects without stripping sensitive request headers when the redirect target is a different origin. An attacker who can cause any origin server to return a cross-origin `302` redirect receives the victim&amp;#39;s `Authorization`, `Cookie`, and `Proxy-Authorization` headers verbatim. This vulnerability has a CVSS v3.1 base score of **7.5 (High)** because `followRedirects` is enabled by default, no authentication is required to exploit it, and the confidentiality impact is high.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;When `Dio` is configured to use `Http2Adapter`, the adapter&amp;#39;s internal `_fetch` method constructs HTTP/2 request headers by unconditionally copying all entries from `options.headers`:&lt;/p&gt;
&lt;p&gt;```dart
// plugins/http2_adapter/lib/src/http2_adapter.dart:111
headers.addAll(
  options.headers.entries.map((entry) {
    ...
    return Header.ascii(entry.key.toLowerCase(), v);
  }).toList(),
);
```&lt;/p&gt;
&lt;p&gt;On receiving a `3xx` response, the adapter reads the `Location` header and resolves the redirect target URI:&lt;/p&gt;
&lt;p&gt;```dart
// plugins/http2_adapter/lib/src/http2_adapter.dart:254-263
final url = responseHeaders.value(&amp;#39;location&amp;#39;);
final uri = Uri.parse(url ?? &amp;#39;&amp;#39;);
final String path = resolveRedirectUri(options.uri, uri).toString();
return _fetch(options.copyWith(path: path, maxRedirects: --options.maxRedirects), ...);
```&lt;/p&gt;
&lt;p&gt;`options.copyWith` is called without an explicit `headers` argument; `dio/lib/src/options.dart:629` therefore preserves the full original hea…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Pub: dio_http2_adapter&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;`dio_http2_adapter` follows HTTP `Location` redirects without stripping sensitive request headers when the redirect target is a different origin. An attacker who can cause any origin server to return a cross-origin `302` redirect receives the victim&amp;#39;s `Authorization`, `Cookie`, and `Proxy-Authorization` headers verbatim. This vulnerability has a CVSS v3.1 base score of **7.5 (High)** because `followRedirects` is enabled by default, no authentication is required to exploit it, and the confidentiality impact is high.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;When `Dio` is configured to use `Http2Adapter`, the adapter&amp;#39;s internal `_fetch` method constructs HTTP/2 request headers by unconditionally copying all entries from `options.headers`:&lt;/p&gt;
&lt;p&gt;```dart
// plugins/http2_adapter/lib/src/http2_adapter.dart:111
headers.addAll(
  options.headers.entries.map((entry) {
    ...
    return Header.ascii(entry.key.toLowerCase(), v);
  }).toList(),
);
```&lt;/p&gt;
&lt;p&gt;On receiving a `3xx` response, the adapter reads the `Location` header and resolves the redirect target URI:&lt;/p&gt;
&lt;p&gt;```dart
// plugins/http2_adapter/lib/src/http2_adapter.dart:254-263
final url = responseHeaders.value(&amp;#39;location&amp;#39;);
final uri = Uri.parse(url ?? &amp;#39;&amp;#39;);
final String path = resolveRedirectUri(options.uri, uri).toString();
return _fetch(options.copyWith(path: path, maxRedirects: --options.maxRedirects), ...);
```&lt;/p&gt;
&lt;p&gt;`options.copyWith` is called without an explicit `headers` argument; `dio/lib/src/options.dart:629` therefore preserves the full original hea…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/ghsa-cr65-55v9-xhvv</guid>
    </item>
  </channel>
</rss>
