Description
Impact:
Undici's cache interceptor incorrectly classifies some responses as cacheable when the upstream Cache-Control header uses whitespace-padded qualified private or no-cache field names such as private=" authorization" or no-cache="\tauthorization". The parser preserves the surrounding whitespace, so later comparisons against the literal authorization field name fail and the response is stored.

In shared-cache mode, this allows a response containing one user's authenticated data to be served from cache to a subsequent caller, including an unauthenticated caller, when both requests resolve to the same cache key.

Affected applications are those that explicitly enable the cache interceptor (interceptors.cache()) in shared mode, forward Authorization headers upstream, and receive cacheable responses with non-canonical qualified private or no-cache directives.

Patches:
Upgrade to undici v7.28.0 or v8.5.0.

Workarounds:
If upgrade is not immediately possible, disable shared-cache mode for traffic that includes Authorization headers, avoid caching responses to authenticated requests, or add Vary: Authorization upstream.
Published: 2026-06-17
Score: 5.9 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Undici’s cache interceptor mistakenly treats responses containing whitespace‑padded Cache‑Control directives such as private=\" authorization\" or no-cache=\"\\tauthorization\" as cacheable. The parser retains the surrounding whitespace, so subsequent comparisons against the literal \"authorization\" header name fail, causing the response to be stored in the shared cache. When the same cache key is later requested by another user, including an unauthenticated caller, that cached response, which may contain the original user’s authenticated data, is served, thereby leaking sensitive information. This vulnerability is classified under CWE‑1286 (Unauthorized Access to Resource) and CWE‑524 (Inadequate Authentication).

Affected Systems

The issue affects applications that use the Undici HTTP client library and have explicitly enabled the shared-cache interceptor (interceptors.cache()) while forwarding Authorization headers to upstream services and receiving cacheable responses with non‑canonical qualified private or no‑cache directives. All Undici versions released before v7.28.0 and v8.5.0 are vulnerable.

Risk and Exploitability

The CVSS score of 5.9 indicates a moderate severity, while the EPSS score of less than 1% signals a low likelihood of exploitation in the wild, and the vulnerability is not listed in the CISA KEV catalog. The attack vector requires the application to use shared caching for authenticated requests and to forward Authorization headers to upstream services; an attacker would need to trigger a cached request that returns sensitive data and then make a subsequent request that hits the same cache key. If these conditions are met, the attacker could read another user’s confidential data, representing a significant confidentiality breach.

Generated by OpenCVE AI on June 18, 2026 at 20:33 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Undici library to v7.28.0 or v8.5.0.
  • If the upgrade cannot be performed immediately, disable the shared-cache interceptor for requests that include Authorization headers.
  • Modify upstream caching logic to prevent cache storage of authenticated responses or add a Vary: Authorization header to ensure cache differentiation.

Generated by OpenCVE AI on June 18, 2026 at 20:33 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-pr7r-676h-xcf6 undici vulnerable to cross-user information disclosure via shared cache whitespace bypass
History

Thu, 18 Jun 2026 20:45:00 +0000

Type Values Removed Values Added
First Time appeared Undici
Undici undici
Vendors & Products Undici
Undici undici

Thu, 18 Jun 2026 16:45:00 +0000

Type Values Removed Values Added
First Time appeared Redhat
Redhat hummingbird
Weaknesses CWE-1286
CPEs cpe:/a:redhat:hummingbird:1
Vendors & Products Redhat
Redhat hummingbird
References
Metrics threat_severity

None

threat_severity

Moderate


Thu, 18 Jun 2026 04:45:00 +0000

Type Values Removed Values Added
Description Impact: Undici's cache interceptor incorrectly classifies some responses as cacheable when the upstream Cache-Control header uses whitespace-padded qualified private or no-cache field names such as private=" authorization" or no-cache="\tauthorization". The parser preserves the surrounding whitespace, so later comparisons against the literal authorization field name fail and the response is stored. In shared-cache mode, this allows a response containing one user's authenticated data to be served from cache to a subsequent caller, including an unauthenticated caller, when both requests resolve to the same cache key. Affected applications are those that explicitly enable the cache interceptor (interceptors.cache()) in shared mode, forward Authorization headers upstream, and receive cacheable responses with non-canonical qualified private or no-cache directives. Patches: Upgrade to undici v7.28.0 or v8.5.0. Workarounds: If upgrade is not immediately possible, disable shared-cache mode for traffic that includes Authorization headers, avoid caching responses to authenticated requests, or add Vary: Authorization upstream.
Title undici vulnerable to cross-user information disclosure via shared cache whitespace bypass
Weaknesses CWE-524
References
Metrics cvssV3_1

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

ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


cve-icon MITRE

Status: PUBLISHED

Assigner: openjs

Published:

Updated: 2026-06-17T18:05:30.162Z

Reserved: 2026-05-27T08:05:04.453Z

Link: CVE-2026-9678

cve-icon Vulnrichment

Updated: 2026-06-17T18:05:27.060Z

cve-icon NVD

No data.

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-06-17T17:04:09Z

Links: CVE-2026-9678 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-06-18T20:45:03Z

Weaknesses
  • CWE-1286

    Improper Validation of Syntactic Correctness of Input

  • CWE-524

    Use of Cache Containing Sensitive Information