CVE-2026-48006: Netty memory exhaustion in RedisArrayAggregator

CVE-2026-48006 · Severity: high · CVSS 3.1 · Published 2026-06-12

Netty is a widely used networking framework for building high-performance Java applications. A flaw in its Redis protocol handler allows remote users to trigger a memory leak by repeatedly opening and closing connections. Over time, this exhausts the server's available memory, leading to a complete service outage for all users.

Technologies: io.netty:netty-codec-redis (Maven), Netty Project Codec Redis. Vendors: Maven, Netty Project.

Quick answers

Is CVE-2026-48006 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-48006 being exploited in the wild.
How severe is CVE-2026-48006?
High severity, with a CVSS score of 3.1, published 12 June 2026.
Which products and versions are affected?
io.netty:netty-codec-redis (Maven) ECOSYSTEM:introduced=4.2.0.Final,fixed=4.2.15.Final.
Is there a fix for CVE-2026-48006?
Yes. io.netty:netty-codec-redis (Maven): upgrade to 4.2.15.Final or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-48006 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-48006?
Check whether you run io.netty:netty-codec-redis (Maven) or Netty Project Codec Redis at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • io.netty:netty-codec-redis (Maven): upgrade to 4.2.15.Final or later
    # set io.netty:netty-codec-redis to 4.2.15.Final in your pom.xml or build.gradle

Technical details

The RedisArrayAggregator handler in Netty's Redis codec fails to implement proper lifecycle cleanup methods (channelInactive, handlerRemoved, or exceptionCaught). When a Redis pipeline connection is terminated before a RESP array aggregate is fully processed, child messages stored in the 'depths' field are never released. These leaked buffers are slices of PooledByteBufAllocator chunks, which prevents the parent chunks from returning to the JVM-wide direct-memory pool. An unauthenticated remote attacker can exploit this by repeatedly initiating and abruptly closing connections, leading to monotonic memory exhaustion and eventual allocation failures across all Netty channels. The issue is fixed in versions 4.1.135.Final and 4.2.15.Final.

Affected products

  • Netty Project Netty < 4.1.135.Final, >= 4.2.0.Final, <= 4.2.14.Final

Identifiers

  • CVE-2026-48006
  • GHSA-6jv9-x5w9-2ccm

Timeline

  • 2026-06-02: patched: Release of versions 4.1.135.Final and 4.2.15.Final
  • 2026-06-05: advisory: GitHub Security Advisory published
  • 2026-06-12: disclosed: CVE-2026-48006 published to NVD

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.