CVE-2021-37137
DoS (Denial of Service) vulnerability in netty-codec (Maven)

DoS (Denial of Service) No known exploit

What is CVE-2021-37137 About?

This vulnerability in the Snappy frame decoder function can lead to excessive memory usage, resulting in a Denial of Service (DoS) attack. It arises from unrestricted chunk lengths or buffering of large skippable chunks. Exploiting this issue is relatively easy, requiring only specially crafted malicious input.

Affected Software

io.netty:netty-codec >4.0.0, <4.1.68.Final

Technical Details

The SnappyFrameDecoder, specifically in methods like 'decode' around lines 79, 171, and 185 within 'codec/src/main/java/io/netty/handler/codec/compression/SnappyFrameDecoder.java', fails to impose proper restrictions on the length of incoming Snappy frame chunks. This lack of restriction allows an attacker to supply malicious input that, when decompressed, expands to an excessively large size, or to send a huge skippable chunk. The decoder then attempts to buffer or process this oversized data, consuming an inordinate amount of memory. This excessive memory allocation starves the system of resources, leading to an OutOfMemoryError (OOME) and ultimately a Denial of Service for any application using the vulnerable SnappyFrameDecoder.

What is the Impact of CVE-2021-37137?

Successful exploitation may allow attackers to cause a denial of service by consuming excessive memory resources, rendering the affected application or system unresponsive or crashing it.

What is the Exploitability of CVE-2021-37137?

Exploitation of this vulnerability is of low to medium complexity, as it primarily involves crafting and delivering malicious input. No specific authentication or privilege escalation is required; attackers typically need only to be able to send data to the application utilizing the vulnerable SnappyFrameDecoder, whether via a network stream or file upload. The vulnerability can be triggered remotely if the application processes untrusted input from external sources. The primary risk factor increasing exploit likelihood is the unvalidated handling of input data sizes, making any externally accessible endpoint that processes Snappy compressed data a potential target.

What are the Known Public Exploits?

PoC Author Link Commentary
No known exploits

What are the Available Fixes for CVE-2021-37137?

Available Upgrade Options

  • io.netty:netty-codec
    • >4.0.0, <4.1.68.Final → Upgrade to 4.1.68.Final

Struggling with dependency upgrades?

See how Resolved Security's drop-in replacements make it simple.

Book a demo

Additional Resources

What are Similar Vulnerabilities to CVE-2021-37137?

Similar Vulnerabilities: CVE-2021-37136 , CVE-2020-13956 , CVE-2018-12502 , CVE-2019-12086 , CVE-2022-24823