Skip to main content

Netty netty-codec-redis CVE-2026-56818

| EUVDEUVD-2026-54558 MEDIUM
Memory Leak (CWE-401)
2026-08-07 GitHub_M GHSA-p9jm-q85p-7mcp
6.5
CVSS 3.1 · NVD
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Establish TCP connection to Netty Redis codec endpoint
  2. Delivery
    Send valid RESP array with bulk-string child to seed partial aggregate
  3. Exploit
    Send oversized nested array header exceeding maxElements limit
  4. Install
    Trigger CodecException without releaseAndClearDepths() cleanup
  5. C2
    Partial aggregate and retained ByteBuf remain on depth stack
  6. Execute
    Send additional messages into stale aggregate across exception boundary
  7. Impact
    Pin pooled buffer allocator memory until service degrades

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Resource cleanup, leak prevention
Exploitation Conditions

Two conditions must both be true for exploitation to succeed. First, the target application must include the io.netty:netty-codec-redis artifact in its pipeline with RedisArrayAggregator configured - applications using Netty only for HTTP, WebSocket, or other codecs are entirely unaffected. Second, the application must keep the channel alive after receiving a CodecException from the Redis decoder rather than closing or replacing the channel; this is an explicit application-level decision, not a Netty default, and applications that correctly propagate codec exceptions to channel closure are immune even on vulnerable Netty versions. Authentication is not required at the codec level (CVSS PR:N); the attacker only needs TCP connectivity to the Netty port. Exploitation is bounded in impact to memory exhaustion and stale-aggregate state corruption - remote code execution is not indicated by the description or CVSS vector (no C impact, no scope change).

Impact

The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L, score 6.5) correctly characterises the attack as network-reachable and unauthenticated with low complexity. Real-world impact severity is highly conditional: the vulnerability is only exploitable if the application continues using the channel after receiving a CodecException from the Redis decoder. Applications that close or replace the channel on any codec error - the defensive pattern recommended by Netty's own exception-handling guidance - are not affected even on vulnerable versions. No EPSS score was provided in the input data, so probability-of-exploitation cannot be quantified numerically. The public PoC in the GHSA advisory lowers the bar for exploitation meaningfully, but the application-level precondition limits blast radius compared to a raw network-reachable flaw. The absence of Confidentiality impact (C:N) is consistent with the description; Integrity impact (I:L) reflects stale aggregate consuming legitimate post-error messages, and Availability impact (A:L) reflects pooled buffer exhaustion. No KEV listing, so active exploitation is not confirmed. This is a real operational risk for high-throughput Redis-codec deployments that implement connection-keep-alive semantics post-exception, not a theoretical concern.

Exploit ScenarioDerived

An unauthenticated attacker with network access to a Netty Redis codec endpoint sends a crafted RESP sequence: a valid array header followed by a bulk-string child (which gets retained in the aggregator's depth stack), then a nested array header with a length exceeding the configured maxElements limit. Netty throws a CodecException, but the bulk-string ByteBuf remains pinned and the partial aggregate frame stays on the depth stack. Because the application keeps the channel alive for reconnect resilience, the attacker then floods the channel with additional messages, each being consumed into the stale aggregate rather than a fresh frame, progressively exhausting Netty's pooled buffer allocator until the service degrades. A PoC test demonstrating refcount retention and post-exception continuation is publicly available in the GHSA advisory.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.5% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 07, 2026

Netty's RedisArrayAggregator codec fails to release retained partial aggregate state when the maxElements limit is exceeded, unlike the symmetric maxNestedArrayDepth branch which correctly calls releaseAndClearDepths() before throwing. In applications that keep the channel alive after a codec exception - a common resilience pattern - an unauthenticated peer can exploit this inconsistency to keep attacker-controlled ByteBuf references pinned in Netty's pooled buffer allocator and cause subsequent messages to be consumed into the stale pre-error aggregate. A public proof-of-concept test is included in the GHSA advisory; fixed in Netty 4.1.136.Final and 4.2.16.Final with no KEV listing at time of analysis.

RemediationAI

Upgrade io.netty:netty-codec-redis to 4.1.136.Final (for 4.1.x users) or 4.2.16.Final (for 4.2.x users); these are the vendor-confirmed fixed releases per GHSA-p9jm-q85p-7mcp and the Maven package metadata. The upstream fix is in PR https://github.com/netty/netty/pull/17065 and commits 5b68c61f37aa4a3045cba624cbea239655c9030b and bb2ff68a1fb71cb4b0eb9a9e17b66c52aff680c6. If an immediate upgrade is not feasible, ensure the application calls channel.close() on any CodecException emitted by the Redis decoder pipeline rather than swallowing or logging the exception and continuing - this eliminates the retained-state persistence window entirely, though it will increase connection churn and may affect throughput in high-reconnect scenarios. As an additional layer, restrict network access to the Netty Redis codec endpoint to trusted internal clients only, reducing the unauthenticated attack surface; note this does not eliminate the vulnerability if a trusted peer is compromised.

Affected VersionsENISA

netty < 4.1.136.Final
netty 4.2.0-Final, < 4.2.16.Final

Affected Packages

maven io.netty:netty-codec-redis fix: 4.1.136.Final, 4.2.16.Final
euvd netty fix: 4.1.136.Final
euvd netty_4_2_0_final fix: 4.2.16.Final

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 3 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

The vulnerability resides in io.netty:netty-codec-redis, the RESP (REdis Serialization Protocol) codec sub-module of the Netty framework (CPE: cpe:2.3:a:netty:netty:*:*:*:*:*:*:*:*). RedisArrayAggregator.decode() maintains a depth stack of partial aggregates and retains non-array child messages (ByteBuf references) before adding them to the current frame's children list. The decodeRedisArrayHeader() method enforces two safety limits: when header.length() exceeds maxElements it throws immediately with no cleanup, but when depths.size() exceeds maxNestedArrayDepth it first calls releaseAndClearDepths() before throwing. This asymmetry is the root cause - CWE-401 (Missing Release of Memory after Effective Lifetime) - because the retained ByteBuf child added before the exception is never released in the maxElements path. Netty uses reference-counted pooled ByteBuf allocators; each unreleased reference pins a buffer segment until channel closure, creating a slow memory leak proportional to attacker-controlled message volume.

Know when Netty gets its next vulnerability

  • 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

Vendor (GitHub_M) PRIMARY MEDIUM
NVD 6.5 MEDIUM
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L
vuln.today AI 6.5 MEDIUM

Network-reachable unauthenticated attack with trivial payload; no confidentiality impact; I:L for stale aggregate corruption, A:L for pooled buffer exhaustion.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L
4.0 AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N
SUSE MEDIUM
Red Hat 7.5 HIGH

Primary rating from Vendor (GitHub_M).

CVSS VectorNVD

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
Low
Availability
Low

Lifecycle Timeline

1
Patch available
Aug 07, 2026 - 18:02 EUVD

DescriptionNVD

Netty is an asynchronous, event-driven network application framework. Prior to 4.1.136.Final and 4.2.16.Final, the RedisArrayAggregator Redis codec clears retained partial aggregate state when the maxNestedArrayDepth limit is exceeded, but it does not clear the same state when the sibling maxElements limit is exceeded. A peer can start a valid RESP array, send a bulk string child, then send a nested array header longer than the configured maxElements. Netty throws a decoder exception in decodeRedisArrayHeader, but the existing partial aggregate remains retained in the handler. If the application leaves the channel alive after the exception, later messages are still consumed into the pre-error aggregate, allowing an unauthenticated peer to keep attacker-controlled aggregate state alive across a security-limit exception and pin retained pooled buffers. This issue is fixed in versions 4.1.136.Final and 4.2.16.Final.

Threat Intelligence Overview

EPSS Score
0.5%
Top 62% exploitable
Prevalence
Medium
Netty widely used in Java ecosystem, but Redis codec is an optional sub-module
Threat Intel
1
1 sources
Exploit
POC
Public exploit code exists
Data Quality
8 sources
Confidence: High
EUVD 🇯🇵JVN NVD CVE.org EPSS Vulnrichment GHSA Vendor GitHub VulDB

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC Yes
EPSS 0.5%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

52
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

More in Netty

View all
CVE-2023-44487 HIGH POC
7.5 Oct 10

Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour

CVE-2019-16869 HIGH POC
7.5 Sep 26

Netty before 4.1.42.Final mishandles whitespace before the colon in HTTP headers (such as a "Transfer-Encoding : chunked

CVE-2026-56820 CRITICAL POC
9.1 Jul 21

Certificate revocation-check bypass in the Netty network framework's OCSP client (io.netty:netty-handler-ssl-ocsp) affec

CVE-2024-36121 CRITICAL POC
9.1 Jun 04

netty-incubator-codec-ohttp is the OHTTP implementation for netty. Rated critical severity (CVSS 9.1), this vulnerabilit

CVE-2024-40642 HIGH POC
8.1 Jul 18

The netty incubator codec.bhttp is a java language binary http parser. Rated high severity (CVSS 8.1), this vulnerabilit

CVE-2025-24970 HIGH POC
7.5 Feb 10

Netty, an asynchronous, event-driven network application framework, has a vulnerability starting in version 4.1.91.Final

CVE-2026-59902 HIGH POC
7.5 Aug 17

Memory exhaustion in Netty's SctpMessageCompletionHandler (netty-transport-sctp) allows unauthenticated remote peers to

CVE-2026-55833 HIGH POC
7.5 Jul 20

Compression-amplification denial of service in the Netty network framework (versions prior to 4.1.136.Final and 4.2.16.F

CVE-2026-55831 HIGH POC
7.5 Jul 20

Memory-amplification denial of service in the Netty network framework (SPDY/3.1 codec) prior to 4.1.136.Final and 4.2.16

CVE-2026-56816 HIGH POC
7.5 Jul 21

Memory-exhaustion denial of service in Netty's HTTP/3 codec (Http3FrameCodec) affects all releases prior to 4.2.16.Final

CVE-2026-59903 HIGH POC
7.5 Aug 17

Netty's HTTP CORS handler silently rewrites the Vary response header to Vary: Origin in releases before 4.1.137.Final an

CVE-2026-48748 HIGH POC
7.5 Jun 12

Denial of service in the Netty HTTP/3 codec (io.netty:netty-codec-http3) prior to version 4.2.15.Final allows remote una

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise Desktop 15 SP7 SUSE Linux Enterprise High Performance Computing 15 SP7 SUSE Linux Enterprise Module for Development Tools 15 SP7 SUSE Linux Enterprise Server 15 SP7 SUSE Linux Enterprise Server for SAP Applications 15 SP7 Fixed
SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS Fixed
SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS Fixed
SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS Fixed
SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS Fixed

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy