Netty corrected an MQTT decoder regression introduced during remediation for CVE-2026-44248, after the library began incorrectly rejecting valid fragmented or batched MQTT packets with TooLongFrameException. The flaw came from using readableBytes() inside a ReplayingDecoder path, where the value reflected the cumulation buffer or an effectively unbounded readable size instead of the current packet’s declared remaining length during variable-header replay handling. The project fixed the logic in pull request #16787 by basing the size check on bytesRemainingBeforeVariableHeader and added regression tests covering both valid in-limit packets and oversized packets.
The fix was merged into the 4.2 branch for release in 4.2.14.Final, then auto-ported to 4.1 in #16838 and later re-applied in #16916 after a subsequent security merge reintroduced the broken code. Netty also addressed a related ReplayingDecoder readableBytes() issue in #16813 and auto-port #16919, ensuring early replay handling works correctly for incomplete MQTT properties blocks. Downstream projects including ArcadeDB and ThingsBoard referenced or adopted the updated Netty releases to resolve the decoder behavior.

Mallory correlates global threat intelligence with your attack surface — know if you’re exposed before adversaries strike.
6 events from the most recent confirmed update back to the earliest known activity.
Netty merged pull request #16916 into the 4.1 branch to re-apply the MQTT decoder size-check fix after a later CVE-2026-44248 security merge reintroduced the broken readableBytes()-based logic. The change restored use of the MQTT fixed-header remaining length so incomplete chunked variable headers replay correctly while genuinely oversized messages are still rejected.
Netty applied the MQTT decoder size-check correction to its 4.1 branch, addressing a replay-related bug where trailing packets in the cumulation buffer could incorrectly influence oversized-message detection. The commit also added unit tests covering incomplete PUBLISH variable headers and genuinely oversized packets.
Netty merged a fix for an MQTT decoder regression where an early-REPLAY check in decodeProperties did not work under ReplayingDecoder because readableBytes() returned a synthetic large value. The change switched to a getByte() probe at the end of the properties block so incomplete chunked properties correctly trigger replay without advancing the reader index.
Netty corrected an MQTT decoder regression introduced while addressing CVE-2026-44248, changing the size check to use bytesRemainingBeforeVariableHeader instead of readableBytes() in a ReplayingDecoder context. The fix was merged via pull request #16787 and slated for release in Netty 4.2.14.Final, with regression tests added for valid and oversized packets.
A GitHub issue reported that the fix for CVE-2026-44248 appeared to break MQTT decoding, causing incorrect aborts when multiple MQTT packets were present in the same buffer after upgrading Netty. The reporter tied the problem to comparing initialAvailableBytes against maxBytesInMessage instead of using bytesRemainingBeforeVariableHeader and observed failing Apache Artemis integration tests.
Netty committed changes to its MQTT decoder to better handle malformed, incomplete, or oversized inputs. The patch added logic to convert replay conditions into TooLongFrameException when the configured maximum message size had already been reached and introduced an early replay trigger during MQTT property decoding.
Vulnerabilities, threat actors, malware, products, organizations, and breaches Mallory has linked to this story.
11 references tracked. Mallory keeps watching after this page renders.
github.com
Open sourcegithub.com
Open sourcegithub.com
Open sourcegithub.com
Open sourceredirect.github.com
Open sourceredirect.github.com
Open sourcegithub.com
Open sourcegithub.com
Open sourceMap indicators from this story to your assets and identify affected systems in minutes.
Every observed campaign, victim, and pivot linked to actors named in this story.
Malware, exploits, and IOCs connected to the activity described here.
YARA, Sigma, and Snort rules deployed to your SIEM as soon as they’re published.
Get matching new stories delivered to your team as they break — not the next morning.
Ask questions about this story and take action on the answers.