CVE-2026-107228: AsyncHttpClient CookieStore Silently Overrides Caller's Explicit Cookie Header via setHeader (Bypass of CVE-2024-53990 Fix)
With the cookie store enabled, which is the default, a Cookie header that the caller sets on a request with setHeader or addHeader is thrown away whenever the store holds any cookie for the request’s origin: the request’s cookie list is written into that header afterwards and replaces it. CVE-2024-53990 fixed the same problem for cookies added with addCookie, but that fix works on the cookie list, and a header set directly never reaches it.
This is not limited to a cookie of the same name. A store cookie of any name erases the caller’s header, so a request meant to carry the caller’s session cookie goes out with only the store’s cookies, and where the store has a cookie of the caller’s name, the store’s value is sent instead.
It matters most where one client acts for several users. An application that puts each user’s session on the request itself, and shares one client and its default cookie store, sends one user’s request with a session cookie the store took from a response to another user. The request runs as that other user, so a user of such an application can have their request served under someone else’s session, or someone else’s under theirs.
References
- github.com/AsyncHttpClient/async-http-client/commit/fd9763620725126c1c8bb0af1ceb9a7523099a5f
- github.com/AsyncHttpClient/async-http-client/releases/tag/async-http-client-project-3.0.14
- github.com/AsyncHttpClient/async-http-client/security/advisories/GHSA-2jwh-9rmr-j4xf
- github.com/advisories/GHSA-2jwh-9rmr-j4xf
- nvd.nist.gov/vuln/detail/CVE-2026-107228
Code Behaviors & Features
Detect and mitigate CVE-2026-107228 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →