Bug 2528717 (CVE-2026-85152)

Summary: CVE-2026-85152 undici: undici: Authentication bypass via cross-origin cache poisoning due to missing origin isolation
Product: [Other] Security Response Reporter: OSIDB Bzimport <bzimport>
Component: vulnerabilityAssignee: Product Security DevOps Team <prodsec-dev>
Status: NEW --- QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: unspecifiedCC: abarbaro, akhatavk, alizardo, aos-team-art-private, asdas, ataylor, cdrage, csuconic, dbruscin, dpaolell, dschmidt, eborisov, ehugonne, gbenhaim, gtanzill, gtully, jbuscemi, jchui, jdelft, jhe, jlanda, jsherman, jupierce, kshier, ktsao, kvanderr, lball, lchilton, lgarciaa, mbiarnes, mstipich, nboldt, ngough, niyer, oaljalju, ppalepu, ppostler, prdhamdh, psrna, rexwhite, rgemmell, rgodfrey, rhel-process-autobot, rushinde, sdawley, sfeifer, sghai, sidsharm, simaishi, stcannon, sthirugn, suppawar, tbish, teagle, tlavocat, twaugh, veshanka, vlaad, watson-tool-maintainers, yguenane
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
A flaw was found in undici. When the cache or deduplicate interceptor is directly composed onto a Client or Pool, the destination origin is omitted from cache and request-deduplication keys. This allows a remote attacker to perform cross-origin cache poisoning, leading to information disclosure and potentially a full authentication bypass. An attacker could exploit this by having a trusted origin accept a malicious token, without contacting the legitimate trusted origin.
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description OSIDB Bzimport 2026-09-04 16:43:13 UTC
undici 8.10.0 omits the destination origin from the cache and request-deduplication keys when the cache or deduplicate interceptor is composed directly onto a Client or Pool. Because the internal cache key falls back to an empty origin string, a cacheable or in-flight response from one upstream origin is returned for a request to a different, trusted origin whenever the method, path, and relevant headers match, which permits cross-origin information disclosure and persistent cache poisoning. The reporter demonstrated a full authentication bypass in which a JWT signed with an attacker-controlled key was accepted as belonging to a trusted issuer, and the trusted origin was never contacted. This is a regression introduced in 8.10.0 and affects undici versions from 8.10.0 up to 8.10.2. Applications using an Agent, which carries the origin in its dispatch options, are not affected. Users should upgrade to undici 8.10.2.

Comment 1 Jon Orris 2026-09-29 16:31:45 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 10

Via RHSA-2026:73428 https://access.redhat.com/errata/RHSA-2026:73428

Comment 2 Jon Orris 2026-09-30 10:57:51 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 9

Via RHSA-2026:73838 https://access.redhat.com/errata/RHSA-2026:73838

Comment 3 Jon Orris 2026-09-30 20:53:48 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8

Via RHSA-2026:74085 https://access.redhat.com/errata/RHSA-2026:74085