Every CVE Search/ Get API key

CVE-2024-53990

AsyncHttpClient (AHC) library's `CookieStore` replaces explicitly defined `Cookie`s

9.2 CriticalFix available

The AsyncHttpClient (AHC) library allows Java applications to easily execute HTTP requests and asynchronously process HTTP responses. When making any HTTP request, the automatically enabled and self-managed CookieStore (aka cookie jar) will silently replace explicitly defined Cookies with any that have the same name from the cookie jar. For services that operate with multiple users, this can result in one user's Cookie being used for another user's requests.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
High
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
High
Integrity
High
Availability
High

Exploit likelihood

0.72%Up 0.7 points since Dec 3, 2024
90%50%10%1%

What each source reports

CVE List Score used 9.2

AsyncHttpClient (AHC) library's `CookieStore` replaces explicitly defined `Cookie`s

The AsyncHttpClient (AHC) library allows Java applications to easily execute HTTP requests and asynchronously process HTTP responses. When making any HTTP request, the automatically enabled and self-managed CookieStore (aka cookie jar) will silently replace explicitly defined Cookies with any that have the same name from the cookie jar. For services that operate with multiple users, this can result in one user's Cookie being used for another user's requests.

Record
CVE-2024-53990
CVSS 4.0
9.2 CriticalCVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Weakness
CWE-287
Updated
2026-11-02
EUVDEUVD-2024-3488 9.2

The AsyncHttpClient (AHC) library allows Java applications to easily execute HTTP requests and asynchronously process HTTP responses. When making any HTTP request, the automatically enabled and self-managed CookieStore (aka cookie jar) will silently replace explicitly defined Cookies with any that have the same name from the cookie jar. For services that operate with multiple users, this can result in one user's Cookie being used for another user's requests.

Record
EUVD-2024-3488
CVSS 4.0
9.2 CriticalCVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Updated
2026-11-03
GitHub AdvisoriesGHSA-mfj5-cf8g-g2fv 9.2

AsyncHttpClient (AHC) library's `CookieStore` replaces explicitly defined `Cookie`s

Summary

When making any HTTP request, the automatically enabled and self-managed CookieStore (aka cookie jar) will silently replace explicitly defined Cookies with any that have the same name from the cookie jar. For services that operate with multiple users, this can result in one user's Cookie being used for another user's requests.

Details

This issue is described without security warnings here:

https://github.com/AsyncHttpClient/async-http-client/issues/1964

A PR to fix this issue has been made:

https://github.com/AsyncHttpClient/async-http-client/pull/2033

PoC

  1. Add an auth Cookie to the CookieStore
    • This is identical to receiving an HTTP response that uses Set-Cookie, as shown in issue #1964 above.
  2. Handle a different user's request where the same Cookie is provided as a passthrough, like a JWT, and attempt to use it by explicitly providing it.
  3. Observe that the user's cookie in step 2 is passed as the Cookie in step 1.

Impact

This is generally going to be a problem for developers of backend services that implement third party auth features and use other features like token refresh. The moment a third party service responds by setting a cookie in the response, the CookieStore will effectively break almost every follow-up request (hopefully by being rejected, but possibly by revealing a different user's information).

If your service sets cookies based on the response that happens here, it's possible to lead to even greater levels of exposure.

Workaroud

You can avoid this issue by disabling the CookieStore during client creation:

DefaultAsyncHttpClientConfig.Builder clientBuilder = Dsl.config()
 .setCookieStore(null)
 // other configuration
 ;
Record
GHSA-mfj5-cf8g-g2fv
CVSS 4.0
9.2 CriticalCVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Weakness
CWE-287
Updated
2026-11-02
NVD 9.2

The AsyncHttpClient (AHC) library allows Java applications to easily execute HTTP requests and asynchronously process HTTP responses. When making any HTTP request, the automatically enabled and self-managed CookieStore (aka cookie jar) will silently replace explicitly defined Cookies with any that have the same name from the cookie jar. For services that operate with multiple users, this can result in one user's Cookie being used for another user's requests.

Record
CVE-2024-53990
CVSS 4.0
9.2 CriticalCVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Weakness
CWE-287
Updated
2026-11-02
OSV 9.2

AsyncHttpClient (AHC) library's `CookieStore` replaces explicitly defined `Cookie`s

The AsyncHttpClient (AHC) library allows Java applications to easily execute HTTP requests and asynchronously process HTTP responses. When making any HTTP request, the automatically enabled and self-managed CookieStore (aka cookie jar) will silently replace explicitly defined Cookies with any that have the same name from the cookie jar. For services that operate with multiple users, this can result in one user's Cookie being used for another user's requests.

Record
CVE-2024-53990
CVSS 4.0
9.2 CriticalCVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Weakness
CWE-287
Updated
2026-11-02
OSVDEBIAN-CVE-2024-53990 9.2

The AsyncHttpClient (AHC) library allows Java applications to easily execute HTTP requests and asynchronously process HTTP responses. When making any HTTP request, the automatically enabled and self-managed CookieStore (aka cookie jar) will silently replace explicitly defined Cookies with any that have the same name from the cookie jar. For services that operate with multiple users, this can result in one user's Cookie being used for another user's requests.

Record
DEBIAN-CVE-2024-53990
CVSS 4.0
9.2 CriticalCVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Updated
2026-11-02
Show 4 moreShow less
OSVGHSA-mfj5-cf8g-g2fv 9.2

AsyncHttpClient (AHC) library's `CookieStore` replaces explicitly defined `Cookie`s

Summary

When making any HTTP request, the automatically enabled and self-managed CookieStore (aka cookie jar) will silently replace explicitly defined Cookies with any that have the same name from the cookie jar. For services that operate with multiple users, this can result in one user's Cookie being used for another user's requests.

Details

This issue is described without security warnings here:

https://github.com/AsyncHttpClient/async-http-client/issues/1964

A PR to fix this issue has been made:

https://github.com/AsyncHttpClient/async-http-client/pull/2033

PoC

  1. Add an auth Cookie to the CookieStore
    • This is identical to receiving an HTTP response that uses Set-Cookie, as shown in issue #1964 above.
  2. Handle a different user's request where the same Cookie is provided as a passthrough, like a JWT, and attempt to use it by explicitly providing it.
  3. Observe that the user's cookie in step 2 is passed as the Cookie in step 1.

Impact

This is generally going to be a problem for developers of backend services that implement third party auth features and use other features like token refresh. The moment a third party service responds by setting a cookie in the response, the CookieStore will effectively break almost every follow-up request (hopefully by being rejected, but possibly by revealing a different user's information).

If your service sets cookies based on the response that happens here, it's possible to lead to even greater levels of exposure.

Workaroud

You can avoid this issue by disabling the CookieStore during client creation:

DefaultAsyncHttpClientConfig.Builder clientBuilder = Dsl.config()
 .setCookieStore(null)
 // other configuration
 ;
Record
GHSA-mfj5-cf8g-g2fv
CVSS 4.0
9.2 CriticalCVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Weakness
CWE-287
Updated
2026-11-02
OSVUBUNTU-CVE-2024-53990 9.2

The AsyncHttpClient (AHC) library allows Java applications to easily execute HTTP requests and asynchronously process HTTP responses. When making any HTTP request, the automatically enabled and self-managed CookieStore (aka cookie jar) will silently replace explicitly defined Cookies with any that have the same name from the cookie jar. For services that operate with multiple users, this can result in one user's Cookie being used for another user's requests.

Record
UBUNTU-CVE-2024-53990
CVSS 4.0
9.2 CriticalCVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Updated
2026-11-02
OSVCLSA-2026-1791926769 No score

TuxCare security update for org.asynchttpclient (13 CVEs)

TuxCare rebuilt 14 org.asynchttpclient packages to address 13 CVEs. Fixed in 2.12.1-tuxcare.1.

Record
CLSA-2026-1791926769
Updated
2026-11-02
OSVCLSA-2026-1793887823 No score

TuxCare security update for org.asynchttpclient (16 CVEs)

TuxCare rebuilt 14 org.asynchttpclient packages to address 16 CVEs. Fixed in 2.12.3-tuxcare.2.

Record
CLSA-2026-1793887823
Updated
2026-11-06

Affected products

Affected packages

Affected packages
PackageAffectedFixed
org.asynchttpclient:async-http-client
Maven
2.1.0 up to 2.12.4
2.12.4
org.asynchttpclient:async-http-client
Maven
3.0.0.Beta1 up to 3.0.1
3.0.1
org.asynchttpclient:async-http-client
TuxCare:Maven
From an advisory covering 12 CVEs
2.12.1 up to 2.12.1-tuxcare.1
2.12.1-tuxcare.1
org.asynchttpclient:async-http-client-bom
TuxCare:Maven
From an advisory covering 12 CVEs
2.12.1 up to 2.12.1-tuxcare.1
2.12.1-tuxcare.1
org.asynchttpclient:async-http-client-example
TuxCare:Maven
From an advisory covering 12 CVEs
2.12.1 up to 2.12.1-tuxcare.1
2.12.1-tuxcare.1
org.asynchttpclient:async-http-client-extras-guava
TuxCare:Maven
From an advisory covering 12 CVEs
2.12.1 up to 2.12.1-tuxcare.1
2.12.1-tuxcare.1
org.asynchttpclient:async-http-client-extras-jdeferred
TuxCare:Maven
From an advisory covering 12 CVEs
2.12.1 up to 2.12.1-tuxcare.1
2.12.1-tuxcare.1
org.asynchttpclient:async-http-client-extras-parent
TuxCare:Maven
From an advisory covering 12 CVEs
2.12.1 up to 2.12.1-tuxcare.1
2.12.1-tuxcare.1
org.asynchttpclient:async-http-client-extras-registry
TuxCare:Maven
From an advisory covering 12 CVEs
2.12.1 up to 2.12.1-tuxcare.1
2.12.1-tuxcare.1
org.asynchttpclient:async-http-client-extras-retrofit2
TuxCare:Maven
From an advisory covering 12 CVEs
2.12.1 up to 2.12.1-tuxcare.1
2.12.1-tuxcare.1
Show 32 moreShow less
Affected packages
PackageAffectedFixed
org.asynchttpclient:async-http-client-extras-rxjava
TuxCare:Maven
From an advisory covering 12 CVEs
2.12.1 up to 2.12.1-tuxcare.1
2.12.1-tuxcare.1
org.asynchttpclient:async-http-client-extras-rxjava2
TuxCare:Maven
From an advisory covering 12 CVEs
2.12.1 up to 2.12.1-tuxcare.1
2.12.1-tuxcare.1
org.asynchttpclient:async-http-client-extras-simple
TuxCare:Maven
From an advisory covering 12 CVEs
2.12.1 up to 2.12.1-tuxcare.1
2.12.1-tuxcare.1
org.asynchttpclient:async-http-client-extras-typesafe-config
TuxCare:Maven
From an advisory covering 12 CVEs
2.12.1 up to 2.12.1-tuxcare.1
2.12.1-tuxcare.1
org.asynchttpclient:async-http-client-netty-utils
TuxCare:Maven
From an advisory covering 12 CVEs
2.12.1 up to 2.12.1-tuxcare.1
2.12.1-tuxcare.1
org.asynchttpclient:async-http-client-project
TuxCare:Maven
From an advisory covering 12 CVEs
2.12.1 up to 2.12.1-tuxcare.1
2.12.1-tuxcare.1
org.asynchttpclient:async-http-client
TuxCare:Maven
From an advisory covering 15 CVEs
2.12.3 up to 2.12.3-tuxcare.2, plus listed versions
2.12.3-tuxcare.1
2.12.3-tuxcare.2
org.asynchttpclient:async-http-client-bom
TuxCare:Maven
From an advisory covering 15 CVEs
2.12.3 up to 2.12.3-tuxcare.2, plus listed versions
2.12.3-tuxcare.1
2.12.3-tuxcare.2
org.asynchttpclient:async-http-client-example
TuxCare:Maven
From an advisory covering 15 CVEs
2.12.3 up to 2.12.3-tuxcare.2, plus listed versions
2.12.3-tuxcare.1
2.12.3-tuxcare.2
org.asynchttpclient:async-http-client-extras-guava
TuxCare:Maven
From an advisory covering 15 CVEs
2.12.3 up to 2.12.3-tuxcare.2, plus listed versions
2.12.3-tuxcare.1
2.12.3-tuxcare.2
org.asynchttpclient:async-http-client-extras-jdeferred
TuxCare:Maven
From an advisory covering 15 CVEs
2.12.3 up to 2.12.3-tuxcare.2, plus listed versions
2.12.3-tuxcare.1
2.12.3-tuxcare.2
org.asynchttpclient:async-http-client-extras-parent
TuxCare:Maven
From an advisory covering 15 CVEs
2.12.3 up to 2.12.3-tuxcare.2, plus listed versions
2.12.3-tuxcare.1
2.12.3-tuxcare.2
org.asynchttpclient:async-http-client-extras-registry
TuxCare:Maven
From an advisory covering 15 CVEs
2.12.3 up to 2.12.3-tuxcare.2, plus listed versions
2.12.3-tuxcare.1
2.12.3-tuxcare.2
org.asynchttpclient:async-http-client-extras-retrofit2
TuxCare:Maven
From an advisory covering 15 CVEs
2.12.3 up to 2.12.3-tuxcare.2, plus listed versions
2.12.3-tuxcare.1
2.12.3-tuxcare.2
org.asynchttpclient:async-http-client-extras-rxjava
TuxCare:Maven
From an advisory covering 15 CVEs
2.12.3 up to 2.12.3-tuxcare.2, plus listed versions
2.12.3-tuxcare.1
2.12.3-tuxcare.2
org.asynchttpclient:async-http-client-extras-rxjava2
TuxCare:Maven
From an advisory covering 15 CVEs
2.12.3 up to 2.12.3-tuxcare.2, plus listed versions
2.12.3-tuxcare.1
2.12.3-tuxcare.2
org.asynchttpclient:async-http-client-extras-simple
TuxCare:Maven
From an advisory covering 15 CVEs
2.12.3 up to 2.12.3-tuxcare.2, plus listed versions
2.12.3-tuxcare.1
2.12.3-tuxcare.2
org.asynchttpclient:async-http-client-extras-typesafe-config
TuxCare:Maven
From an advisory covering 15 CVEs
2.12.3 up to 2.12.3-tuxcare.2, plus listed versions
2.12.3-tuxcare.1
2.12.3-tuxcare.2
org.asynchttpclient:async-http-client-netty-utils
TuxCare:Maven
From an advisory covering 15 CVEs
2.12.3 up to 2.12.3-tuxcare.2, plus listed versions
2.12.3-tuxcare.1
2.12.3-tuxcare.2
org.asynchttpclient:async-http-client-project
TuxCare:Maven
From an advisory covering 15 CVEs
2.12.3 up to 2.12.3-tuxcare.2, plus listed versions
2.12.3-tuxcare.1
2.12.3-tuxcare.2
async-http-client
Debian:12
All versions, plus listed versions
2.12.3-12.12.3-1+deb12u1
None known
org.asynchttpclient:async-http-client
Maven
2.1.0 up to 2.12.4, plus listed versions
2.1.12.1.22.10.02.10.12.10.2
Show 31 moreShow less
2.10.32.10.42.10.52.11.02.12.02.12.12.12.22.12.32.2.02.2.12.3.02.4.02.4.12.4.22.4.32.4.42.4.52.4.62.4.72.4.82.4.92.5.02.5.12.5.22.5.32.5.42.6.02.7.02.8.02.8.12.9.0
2.12.4
org.asynchttpclient:async-http-client
Maven
3.0.0.Beta1 up to 3.0.1, plus listed versions
3.0.03.0.0.Beta23.0.0.Beta3
3.0.1
async-http-client
Ubuntu:Pro:14.04:LTS
All versions, plus listed versions
1.6.5-11.6.5-21.6.5-2ubuntu0.1~esm1
None known
async-http-client
Ubuntu:16.04:LTS
All versions, plus listed versions
1.6.5-4
None known
async-http-client
Ubuntu:18.04:LTS
All versions, plus listed versions
1.6.5-41.6.5-5
None known
async-http-client
Ubuntu:Pro:20.04:LTS
All versions, plus listed versions
2.6.0-12.6.0-1ubuntu0.1~esm1
None known
async-http-client
Ubuntu:22.04:LTS
All versions, plus listed versions
2.12.2-12.12.3-12.12.3-1ubuntu0.22.04.1
None known
async-http-client
Ubuntu:24.04:LTS
All versions, plus listed versions
2.12.3-12.12.3-1ubuntu0.24.04.1
None known
async-http-client
Ubuntu:25.10
All versions, plus listed versions
2.12.3-1
None known
async-http-client
Ubuntu:26.10
All versions, plus listed versions
2.12.3-1ubuntu1
None known
async-http-client
Ubuntu:26.04:LTS
All versions, plus listed versions
2.12.3-12.12.3-1ubuntu12.12.3-1ubuntu1.1
None known

History

History
RecordedChangedSources
affected, aliasesOSV
affected, facts
aliases, publishedEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2024-53990 is a critical vulnerability (CVSS 9.2) in Asynchttpclient Async-http-client, published December 2, 2024. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.72%, the 54th percentile. Fixed in org.asynchttpclient:async-http-client 2.12.4.

References

Show 6 moreShow less
MoveEnter Open