Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconSend OHTTP requests with corrupted ciphertext
-
DeliveryAEAD tag verification fails in OHttpServerCodec
-
ExploitCryptoException thrown before ByteBuf release
-
InstallNative direct memory permanently leaked per request
-
C2Repeat at volume to exhaust off-heap memory
-
ExecuteGateway process OOM or unresponsive
-
ImpactDenial of service achieved
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Resource lifecycle control
|
| Exploitation Conditions | The OHTTP gateway codec (OHttpServerCodec) must be deployed and reachable by the attacker over the network - the vulnerability is in the server-side gateway decryption path, not the client path. The trigger condition is receipt of an OHTTP request whose AEAD ciphertext fails tag verification (i.e., any request with an invalid, truncated, or deliberately corrupted encrypted payload). Because OHTTP gateways are designed to accept unauthenticated anonymous traffic as part of the protocol's privacy model, no authentication or session state is required to trigger the bug. The vulnerability does not depend on any non-default configuration setting - any deployment using the OHttpServerCodec for decryption is affected. Exploitation is limited by: (1) the library being a Netty incubator project with low adoption compared to mainstream frameworks; (2) the gateway needing to be network-exposed; (3) rate limiting or WAF controls upstream of the gateway would slow but not prevent exploitation. |
| Impact | Real-world risk is moderate-to-high for any deployment that exposes an OHTTP gateway endpoint, despite the absence of a published CVSS score from NVD. The attack vector is network-accessible (AV:N), requires no privileges (PR:N since OHTTP gateways are designed to accept anonymous public requests), and low complexity (AC:L - sending requests with corrupted ciphertext is trivial). The denial-of-service impact is High (A:H) because native direct memory exhaustion can kill the gateway process. No EPSS score is available and this CVE is not in CISA KEV, so widespread active exploitation is not confirmed. The 'Information Disclosure' tag in the source data appears to be a misclassification: the described mechanism is a resource leak, not a data leak, and the CWE-664 classification supports DoS rather than disclosure. A potential secondary concern - that leaked buffers in a native memory pool could expose prior allocation contents under certain pool reuse scenarios - is not confirmed by the advisory and should not be treated as a confirmed confidentiality impact. The vulnerability is straightforward to exploit conceptually but is limited to environments actually running the OHTTP gateway codec, which is an incubator (pre-production) library with a niche adoption base. |
| Exploit ScenarioDerived | An attacker targeting a publicly accessible OHTTP gateway constructs a stream of OHTTP-encapsulated requests in which the ciphertext body is deliberately corrupted so that AEAD tag verification always fails. Each such request causes the gateway to allocate a native direct ByteBuf that is never freed. With sufficient request volume - achievable with standard HTTP load tooling - native off-heap memory is exhausted, causing the gateway JVM to throw OutOfMemoryError or become unresponsive, denying service to legitimate OHTTP clients. No proof-of-concept code is known to be publicly available; however, reproducing the condition requires only the ability to send well-formed OHTTP outer envelopes with invalid inner ciphertext. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 20, 2026
Native off-heap memory exhaustion in netty-incubator-codec-ohttp (versions before 0.0.23.Final) allows unauthenticated remote attackers to cause a gateway denial-of-service by repeatedly sending OHTTP requests with invalid ciphertext. Each request that fails AEAD tag verification causes the pre-allocated pooled direct ByteBuf to leak permanently, because the decryption path lacks a try/finally guard around the buffer release. Sustained malformed-request flooding will exhaust JVM native direct memory, crashing or severely degrading the OHTTP gateway process. No public exploit code and no CISA KEV listing have been identified at time of analysis.
RemediationAI
Upgrade io.netty.incubator:netty-incubator-codec-ohttp to version 0.0.23.Final, which introduces proper try/finally buffer lifecycle management around the AEAD decryption path. The release is available at https://github.com/netty/netty-incubator-codec-ohttp/releases/tag/netty-incubator-codec-parent-ohttp-0.0.23.Final. For Maven projects, update the dependency version in pom.xml; for Gradle, update build.gradle accordingly. If an immediate upgrade is not feasible, compensating controls include: placing the OHTTP gateway behind a rate-limiting reverse proxy (e.g., nginx or Envoy) that enforces per-IP and global request-per-second caps - this limits the rate of memory leaks but does not eliminate them; restricting OHTTP gateway access to trusted relay nodes via network ACL or mTLS, which raises the bar for abuse but requires infrastructure changes; and monitoring JVM native direct memory usage (via -Dio.netty.leakDetection.level=advanced or JVM NMT flags) to detect exploitation early and trigger a gateway restart before full exhaustion. The only complete fix is the upstream patch in 0.0.23.Final.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in maven, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Oblivious HTTP (OHTTP), standardized to provide request anonymity through a relay-gateway architecture, relies on Hybrid Public Key Encryption (HPKE) with an Authenticated Encryption with Associated Data (AEAD) cipher for each request. The affected library, io.netty.incubator:netty-incubator-codec-ohttp, implements the gateway-side OHttpServerCodec using Netty's ByteBuf abstraction. Netty distinguishes heap-backed and direct (native off-heap) buffers; pooled direct buffers are explicitly reference-counted and must be explicitly released via release() or within try/finally blocks. CWE-664 (Improper Control of a Resource Through its Lifetime) precisely describes the root cause: the gateway allocates a pooled direct ByteBuf before completing AEAD tag verification, and when tag verification fails a CryptoException is thrown and propagates without ever reaching a buffer-release call. Because the buffer is native off-heap memory outside the JVM garbage collector's reach, it is never reclaimed - each failed decryption permanently leaks one allocation.
Know when the next one hits your stack
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
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
Network-accessible unauthenticated endpoint by OHTTP design; trivial to trigger; impact is availability-only (memory exhaustion DoS), no confidentiality or integrity effect confirmed.
Primary rating from Vendor (https://github.com/netty/netty-incubator-codec-ohttp).
CVSS VectorVendor: https://github.com/netty/netty-incubator-codec-ohttp
DescriptionCVE.org
The netty-incubator-codec-ohttp library implements Oblivious HTTP (OHTTP) gateway and client functionality using Netty's ByteBuf memory management. When an OHTTP gateway processes encrypted client requests, it allocates a pooled direct (native off-heap) ByteBuf to hold the decrypted plaintext before the AEAD tag is verified. If the AEAD tag check fails - meaning the ciphertext is invalid - the decryption method throws a CryptoException, but the allocated buffer is never released because no try/finally block guards the allocation.
Executive ViewAI
A denial-of-service vulnerability in netty-incubator-codec-ohttp allows unauthenticated remote attackers to crash OHTTP gateway services through memory exhaustion, disrupting critical network infrastructure. No vendor patch is currently available, elevating the urgency of compensating controls. Organizations operating these gateways must immediately identify and protect affected systems to prevent service outages.
Implement strict request-rate limiting and per-connection request quotas on OHTTP endpoints to constrain malformed-request flooding volume. Deploy network or application-level filtering to detect and drop OHTTP requests exhibiting invalid ciphertext or protocol markers. Configure continuous monitoring of JVM native direct-memory utilization with automated alerts on exhaustion thresholds. If feasible, segment OHTTP gateways behind load balancers with DDoS protection and request validation, and restrict inbound OHTTP traffic to known trusted sources.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
EUVD-2026-78879
GHSA-vmr9-j6wf-pmh2
NVD
CVE.org
EPSS
Exploit-DB