Netty, Resource exhaustion, CVE-2026-44248 (Moderate)

Listen to this Post

The vulnerability resides in MqttDecoder, specifically when parsing the Properties section of an MQTT 5 header. The `decodeVariableHeader()` method is invoked before Netty applies the `maxBytesInMessage` limit, meaning no size check is performed on the variable header or its properties. The `decodeVariableHeader()` then calls decodeProperties(), which processes the entire Properties section without any constraints on its size. Furthermore, because `MqttDecoder` extends ReplayingDecoder, Netty does not just read the oversized Properties section once. The decoder’s state machine repeatedly re-parses the enormous data, buffering the bytes in memory until it can be fully processed. This results in an uncontrolled resource consumption in both CPU and memory, leading to a complete denial of service for the Netty server. A remote attacker can send a single, specially crafted MQTT message with an excessively large Properties section to trigger this exhaustion without authentication.

dailycve form

Platform: Netty
Version: <=4.1.132.Final,4.2.0.Alpha1-4.2.12.Final
Vulnerability : Resource exhaustion
Severity: Moderate
date: May 7, 2026

Prediction: May 7, 2026

Analytics under What Undercode Say:

Check Netty version in your project (Maven example)
mvn dependency:tree | grep netty-codec-mqtt
Scan for vulnerable versions using grep
grep -r "netty-codec-mqtt" pom.xml
Simulate a malicious MQTT packet (conceptual)
echo -n "MQTT Packet with oversized Properties section" | nc -u target_host 1883

Exploit

An unauthenticated, remote attacker sends a single MQTT 5 CONNECT packet containing a Properties field with thousands or millions of bytes. Because size limits are applied after the variable header is parsed, Netty’s `MqttDecoder` will repeatedly process the huge payload, consuming all available CPU cores and filling the JVM heap with repeated copies of the data.

Protection from this CVE

Upgrade `io.netty:netty-codec-mqtt` to patched versions `4.1.133.Final` or 4.2.13.Final. If an immediate upgrade is not possible, set the Netty channel option `MAX_MESSAGES_PER_READ` to a low value (e.g., 1) to limit the number of parsed messages per event loop tick, reducing the impact of a single oversized packet.

Impact

Denial of service (DoS). An attacker can crash the Netty server or render it unresponsive with a single small network packet, affecting all connected clients and any services relying on the Netty MQTT handler. No authentication or prior access is needed.

🎯Let’s Practice Exploiting & Learn Patching For Free:

Sources:

Reported By: github.com
Extra Source Hub:
Undercode

🔐JOIN OUR CYBER WORLD [ CVE News • HackMonitor • UndercodeNews ]

💬 Whatsapp | 💬 Telegram

📢 Follow DailyCVE & Stay Tuned:

𝕏 formerly Twitter 🐦 | @ Threads | 🔗 Linkedin Featured Image

Scroll to Top