Cloudanix VulnDB

CVE-2024-53990

None

CVSS

—

EPSS

0.7%

Published

Dec 2, 2024

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A Java library used for web requests can accidentally mix up login cookies between different users, letting one person see or act as another.

Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Moderate
Impact
Data Exposure
Component
Library
Class
Authorization Bypass
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The AsyncHttpClient library's self-managed CookieStore silently overwrites explicitly supplied cookies that share the same name with entries already present in the jar, causing HTTP requests to carry cookies belonging to other users in multi-user Java applications.

Why it matters to the business

Multi-tenant services built on this library risk cross-user data exposure or unauthorized actions, increasing privacy incidents and compliance exposure; prevalence across Java HTTP clients heightens the need for prompt upgrades.

How an attack unfolds

An attacker with the ability to influence cookie names or observe multi-user traffic supplies or triggers requests containing duplicate cookie names; the library replaces the intended cookie with one from the shared jar, resulting in the request executing under another user's session without authentication bypass detection.

How to fix it

Upgrade asynchttpclient/async-http-client to a build containing commit 6bd376ad336a237ef02a632df0042d4eb22e2d32 or later; disable the automatic CookieStore or implement explicit per-request cookie isolation until the update is applied.

How to confirm the fix worked

Confirm the library version or commit hash in dependency manifests and runtime classpaths; test cookie handling behavior with duplicate-named cookies under concurrent user sessions to verify isolation is restored.

Typical attack path

  1. Identify a multi-user Java service using AsyncHttpClient with per-user cookie handling
  2. Craft or replay HTTP requests that include cookies sharing names with entries already stored in the shared CookieStore
  3. Trigger the request path so the library performs automatic cookie replacement
  4. Observe or leverage the resulting request executing with the unintended user's cookies

How to detect it

Review application logs for HTTP requests where cookie values unexpectedly differ from those explicitly set in code; correlate request timestamps with user session boundaries to surface cross-user cookie usage patterns.

What your security team should do

  • Immediately inventory all Java applications depending on async-http-client and schedule upgrades to the fixed commit
  • Review code paths that pass explicit cookies to AsyncHttpClient and add per-user cookie isolation controls
  • Monitor dependency update channels for the next official release containing the fix

The record

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.

Affected packages

Ecosystem Package Introduced Fixed
Maven org.asynchttpclient:async-http-client 2.1.0 2.12.4
Maven org.asynchttpclient:async-http-client 3.0.0.Beta1 3.0.1
Chainguard apache-pulsar 0 4.0.1-r1
Chainguard apache-pulsar-compat 0 4.0.1-r1
Chainguard druid 0 34.0.0-r6
Chainguard druid-compat 0 34.0.0-r6
Chainguard tez 0 0.10.4-r8
Chainguard thingsboard 0 3.9-r1
Chainguard thingsboard-tb-js-executor 0 3.9-r1
Chainguard thingsboard-tb-mqtt-transport 0 3.9-r1
Chainguard thingsboard-tb-node 0 3.9-r1
Chainguard thingsboard-tb-web-ui 0 3.9-r1
Debian:11 async-http-client 0 No fix
Debian:12 async-http-client 0 No fix
Ubuntu:16.04:LTS async-http-client 0 No fix
Ubuntu:18.04:LTS async-http-client 0 No fix
Ubuntu:20.04:LTS async-http-client 0 No fix
Ubuntu:22.04:LTS async-http-client 0 No fix
Ubuntu:24.04:LTS async-http-client 0 No fix
Ubuntu:24.10 async-http-client 0 No fix
Ubuntu:25.04 async-http-client 0 No fix
Ubuntu:25.10 async-http-client 0 No fix
Ubuntu:Pro:14.04:LTS async-http-client 0 No fix
Ubuntu:Pro:16.04:LTS async-http-client 0 No fix
Ubuntu:Pro:18.04:LTS async-http-client 0 No fix
Ubuntu:Pro:20.04:LTS async-http-client 0 No fix
Wolfi apache-pulsar 0 4.0.1-r1
Wolfi apache-pulsar-compat 0 4.0.1-r1
Wolfi druid 0 34.0.0-r6
Wolfi druid-compat 0 34.0.0-r6
Wolfi tez 0 0.10.4-r8
Wolfi thingsboard 0 3.9-r1
Wolfi thingsboard-tb-js-executor 0 3.9-r1
Wolfi thingsboard-tb-mqtt-transport 0 3.9-r1
Wolfi thingsboard-tb-node 0 3.9-r1
Wolfi thingsboard-tb-web-ui 0 3.9-r1
maven org.asynchttpclient/async-http-client 2.1.0 2.12.4
maven org.asynchttpclient/async-http-client 2.1.0 3.0.1
maven org.asynchttpclient/async-http-client 3.0.0 3.0.1
maven org.asynchttpclient/async-http-client 3.0.0.Beta1 3.0.1

Related vulnerabilities