Description
netty-incubator-codec-ohttp implements Oblivious HTTP (OHTTP) gateway and client functionality using Netty. Prior to 0.0.23.Final, the OHTTP gateway decryption path in codec-ohttp/src/main/java/io/netty/incubator/codec/ohttp/OHttpRequestResponseContext.java allocates a pooled direct ByteBuf for decrypted plaintext before the AEAD tag is verified. When an invalid tag causes decryptChunk() to throw CryptoException, OHttpRequestResponseContext.decodeChunk() does not release the ByteBuf because the allocation is not guarded by try/finally. Repeated invalid encrypted requests can therefore leak native off-heap memory until the gateway is unable to continue serving requests. This issue is fixed in version 0.0.23.Final.
Published: 2026-09-15
Score: 8.7 High
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service via memory exhaustion
Action: Immediate Patch
AI Analysis

Impact

Netty’s OHTTP Codec allocates a pooled direct ByteBuf for decrypted plaintext before verifying the AEAD tag. When a decryption fails because of an invalid authentication tag, the CryptoException is thrown and the buffer is never released because the allocation lacks a try/finally guard. Each malformed request consumes off‑heap native memory, and repeated attempts can exhaust the gateway’s memory pool, causing it to stop serving traffic. This flaw is an instance of improper memory management (CWE‑664) and results solely in a denial of service; it does not expose confidential data or allow code execution. The issue is resolved with the release of netty‑incubator‑codec‑ohttp‑0.0.23.Final.

Affected Systems

The vulnerability affects the Netty Incubator OHTTP Codec (netty‑incubator‑codec‑ohttp) from the io.netty.incubator and netty vendor groups. All releases prior to version 0.0.23.Final are vulnerable; versions 0.0.23.Final and later contain the fix.

Risk and Exploitability

The CVSS score of 8.7 places the vulnerability in the high severity range. The EPSS score of <1% indicates a low probability of exploitation, and the vulnerability is not listed in CISA’s KEV catalog. Since the gateway processes network traffic, an attacker could remotely send repeated malformed OHTTP requests to trigger the memory leak. The flaw can be exploited by sending a large volume of encrypted requests with invalid authentication tags, consuming native off‑heap memory until the gateway can no longer process further traffic. Once patched in version 0.0.23.Final, the allocation is guarded by a try/finally block and the buffer is released on failure, eliminating the exploitability path.

Generated by OpenCVE AI on September 20, 2026 at 15:01 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the netty‑incubator‑codec‑ohttp library to version 0.0.23.Final or later
  • If an upgrade is not immediately possible, limit or rate‑limit incoming OHTTP requests to prevent sustained memory leak attempts
  • Monitor off‑heap memory usage on the gateway and trigger alerts when usage approaches system limits

Generated by OpenCVE AI on September 20, 2026 at 15:01 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-vmr9-j6wf-pmh2 netty-incubator-codec-ohttp: [OHttpServerCodec] Native Direct-Memory Leak on AEAD Decryption Failure Leads to Gateway Denial of Service
History

Tue, 15 Sep 2026 19:15:00 +0000

Type Values Removed Values Added
First Time appeared Netty
Netty netty-incubator-codec-ohttp
Vendors & Products Netty
Netty netty-incubator-codec-ohttp

Tue, 15 Sep 2026 18:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Tue, 15 Sep 2026 17:30:00 +0000

Type Values Removed Values Added
Description netty-incubator-codec-ohttp implements Oblivious HTTP (OHTTP) gateway and client functionality using Netty. Prior to 0.0.23.Final, the OHTTP gateway decryption path in codec-ohttp/src/main/java/io/netty/incubator/codec/ohttp/OHttpRequestResponseContext.java allocates a pooled direct ByteBuf for decrypted plaintext before the AEAD tag is verified. When an invalid tag causes decryptChunk() to throw CryptoException, OHttpRequestResponseContext.decodeChunk() does not release the ByteBuf because the allocation is not guarded by try/finally. Repeated invalid encrypted requests can therefore leak native off-heap memory until the gateway is unable to continue serving requests. This issue is fixed in version 0.0.23.Final.
Title netty-incubator-codec-ohttp: [OHttpServerCodec] Native Direct-Memory Leak on AEAD Decryption Failure Leads to Gateway Denial of Service
Weaknesses CWE-664
References
Metrics cvssV4_0

{'score': 8.7, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N'}


Subscriptions

Netty Netty-incubator-codec-ohttp
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-09-15T17:36:46.308Z

Reserved: 2026-06-12T16:25:43.085Z

Link: CVE-2026-54251

cve-icon Vulnrichment

Updated: 2026-09-15T17:36:43.413Z

cve-icon NVD

Status : Deferred

Published: 2026-09-15T18:17:22.780

Modified: 2026-09-30T17:51:56.193

Link: CVE-2026-54251

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-20T15:15:17Z

Weaknesses
  • CWE-664

    Improper Control of a Resource Through its Lifetime