CVE-2026-100657 PUBLISHED

Netty before 4.1.138.Final ByteBuf Leak in StompSubframeDecoder

Assigner: VulnCheck
Reserved: 26.09.2026 Published: 26.09.2026 Updated: 26.09.2026

Netty's STOMP codec (io.netty:netty-codec-stomp) contains a ByteBuf leak in StompSubframeDecoder. Once a frame's declared content-length has been fully read, the decoder allocates a chunk buffer from the channel allocator and parks it in an instance field while waiting for the single NUL byte that terminates the frame. If that byte never arrives, the buffer is never released: the replay Signal thrown by skipNullCharacter extends Error rather than Exception, so the decoder's catch(Exception) release path does not run, and StompSubframeDecoder overrides neither handlerRemoved0 nor channelInactive, so the buffer also survives channel teardown. A remote peer can leak one allocator buffer per connection by sending a complete, well-formed frame body and withholding its terminating NUL byte; with the default pooled allocator the memory is never returned to the pool or reclaimed by garbage collection, so the leak accumulates for the lifetime of the process and can lead to memory exhaustion. This affects versions up to and including 4.1.137.Final and versions 4.2.0.Final through 4.2.17.Final; it is fixed in 4.1.138.Final and 4.2.18.Final.

Metrics

CVSS 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
CVSS Score: 8.7

Product Status

Vendor netty
Product netty
Versions Default: unaffected
  • affected from 0 to 4.1.138.Final (excl.)
  • Version 4.1.138.Final is unaffected
Vendor netty
Product netty
Versions Default: unaffected
  • affected from 4.2.0.Final to 4.2.18.Final (excl.)
  • Version 4.2.18.Final is unaffected

Credits

  • rajivraj reporter
  • Michael-JRead reporter
  • chriswnowak analyst
  • Thomas-Read analyst
  • Shirshakhtml reporter

References

Problem Types

  • Missing Release of Resource after Effective Lifetime CWE