---
id: CVE-2026-85718
title: >-
  The AsyncHttpClient (AHC) library allows Java applications to easily execute
  HTTP requests and asynchronously process HTTP responses
summary: >-
  The AsyncHttpClient (AHC) library allows Java applications to easily execute
  HTTP requests and asynchronously process HTTP responses. From 3.0.8 until
  3.0.12, a client with maxConnections or maxConnectionsPerHost set above zero
  leaks one…
severity: medium
cvss: 5.9
cvssVector: 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H'
cwe:
  - CWE-400
  - CWE-772
vendor: AsyncHttpClient
product: async-http-client
affected:
  - 'async-http-client >= 3.0.8, < 3.0.12'
published: '2026-09-17'
updated: '2026-09-17'
sourceUpdated: '2026-09-17T17:16:51.093'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-85718'
references:
  - url: >-
      https://github.com/AsyncHttpClient/async-http-client/commit/64eb57af52a003ae7f29a2f9f4502271bbb138dd
    label: security-advisories@github.com
  - url: 'https://github.com/AsyncHttpClient/async-http-client/issues/2189'
    label: security-advisories@github.com
  - url: 'https://github.com/AsyncHttpClient/async-http-client/pull/2288'
    label: security-advisories@github.com
  - url: >-
      https://github.com/AsyncHttpClient/async-http-client/security/advisories/GHSA-gcmv-gr82-6m8v
    label: security-advisories@github.com
  - url: >-
      https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-85718.json
  - url: 'https://access.redhat.com/security/cve/CVE-2026-85718'
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2536137'
  - url: 'https://www.cve.org/CVERecord?id=CVE-2026-85718'
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-85718'
tags:
  - nvd
  - cve.org
  - csaf
  - vex
  - red-hat
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-09-17T16:39:56.605072Z'
ingestedAt: '2026-09-17T16:21:47.712Z'
epss: 0.00533
epssPercentile: 0.42597
---

## Overview

The AsyncHttpClient (AHC) library allows Java applications to easily execute HTTP requests and asynchronously process HTTP responses. From 3.0.8 until 3.0.12, a client with maxConnections or maxConnectionsPerHost set above zero leaks one connection permit whenever TLS connection establishment fails before the handshake completes. NettyConnectListener removes the partitionKeyLock permit from NettyResponseFuture before every failure path is bound to the channel closeFuture, so an abort can leave the permit unreleased. Repeated failures can permanently lock out one host under a per-host limit or drain the shared pool under a global limit, blocking later requests even when no connection remains open. The default unlimited connection setting is not affected. This issue is fixed in version 3.0.12.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.

## Vendor advisories

- **Red Hat VEX** · Moderate · affected: Red Hat Fuse 7 · no fix planned: Red Hat Fuse 7 · updated 2026-09-23 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-85718.json)
