CVE-2026-102740: CWE-61: UNIX Symbolic Link (Symlink) Following in AsyncHttpClient async-http-client
Description
The AsyncHttpClient library allows Java applications to execute HTTP requests and asynchronously process HTTP responses. From 2.0.0 until 2.16.1 and 3.0.12, PropertiesBasedResumableProcessor stores resumable download state at the predictable shared path $java.io.tmpdir/ahc/ResumableAsyncHandler.properties with default permissions and link-following file operations. A local user who can read the shared store can see download URLs, including embedded user information or query tokens. A local user who can write within or pre-create the affected shared store directory can plant a symbolic link that the client follows when saving state, truncating and overwriting a target file writable by the client process. The filesystem path is used when ResumableAsyncHandler decorates another AsyncHandler, while the no-argument constructors use a no-op processor and are unaffected. This issue is fixed in versions 2.16.1 and 3.0.12.
CVSS v3.1
Score 5.8medium
Affected software
AsyncHttpClient
async-http-client
pkg:maven/org.asynchttpclient/async-http-clientRun on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The AsyncHttpClient library versions >=2.0.0 <2.16.1 and >=3.0.0 <3.0.12 use PropertiesBasedResumableProcessor to store resumable download state in a predictable file path ($java.io.tmpdir/ahc/ResumableAsyncHandler.properties) with default permissions and follow symbolic links during file operations. A local user who can write to or pre-create the shared store directory can plant a symbolic link that the client follows, causing truncation and overwriting of arbitrary files writable by the client process. This can expose download URLs containing sensitive information and enable local file overwrite attacks. The issue does not affect no-argument constructors that use a no-op processor. The vulnerability is resolved in versions 2.16.1 and 3.0.12.
Potential Impact
Local users with write access to the shared directory can exploit this vulnerability to overwrite arbitrary files writable by the client process, potentially leading to integrity loss and exposure of sensitive download URLs containing user information or tokens. The vulnerability requires local access and elevated privileges to write to the shared directory. The CVSS 3.1 score is 5.8 (medium), reflecting low attack vector (local), high complexity, low privileges required, no user interaction, and impacts on confidentiality, integrity, and availability.
Mitigation Recommendations
Upgrade AsyncHttpClient to version 2.16.1 or later, or 3.0.12 or later, where this vulnerability is fixed. Until then, restrict write permissions to the shared resumable download state directory ($java.io.tmpdir/ahc) to trusted users only to prevent symbolic link attacks. Note that no-argument constructors using a no-op processor are not affected.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- GitHub_M
- Date Reserved
- 2026-09-29T16:19:11.295Z
- Cvss Version
- 3.1
- State
- PUBLISHED
Threat ID: 6ad10e922cdf04f6564bcc0d
Added to database: 10/15/2026, 17:34:10 UTC
Last enriched: 10/15/2026, 17:48:51 UTC
Last updated: 10/15/2026, 19:04:20 UTC
Views: 10
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.