{"id":26385,"date":"2026-09-18T20:32:12","date_gmt":"2026-09-18T12:32:12","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-93575"},"modified":"2026-09-18T20:32:12","modified_gmt":"2026-09-18T12:32:12","slug":"cve-2026-93575","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-93575","title":{"rendered":"CVE-2026-93575 &#8211; ### Summary\r\nNetty&#8217;s fix for CVE-2026-44248 is incomplete. The decoder checks if the MQTT"},"content":{"rendered":"<p>### Summary<br \/>\nNetty&#8217;s fix for CVE-2026-44248 is incomplete. The decoder checks if the MQTT packet&#8217;s `Remaining Length` exceeds `maxBytesInMessage`, but fails to validate the `Properties Length` against the `Remaining Length`. An attacker can bypass the size limit by sending a small `Remaining Length` but an enormous `Properties Length`. This forces Netty to buffer and parse millions of properties, allowing an unauthenticated remote attacker to trigger excessive memory and CPU consumption, leading to OutOfMemoryError.<\/p>\n<p>### Details<br \/>\nIn `io.netty.handler.codec.mqtt.MqttDecoder`, the `decodeProperties()` helper method reads `totalPropertiesLength` and attempts to parse that many bytes. If the buffer lacks the full length, a `Signal` is thrown. The `catch` block inside `decode()` only enforces `maxBytesInMessage` against `bytesRemainingBeforeVariableHeader` (the packet&#8217;s `Remaining Length`).<\/p>\n<p>By sending a `CONNECT` packet with a small `Remaining Length` but a huge `Properties Length`, the size check passes. `ReplayingDecoder` then buffers data from the network until the huge `Properties Length` is reached, parsing millions of `UserProperty` objects and exhausting CPU and memory.<\/p>\n<p>#<\/p>\n","protected":false},"excerpt":{"rendered":"<p>### Summary<br \/>\nNetty&#8217;s fix for CVE-2026-44248 is incomplete. The decoder checks if the MQTT packet&#8217;s `Remaining Length` exceeds `maxBytesInMessage`, but fails to validate the `Properties Length` against<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-26385","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/26385","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=26385"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=26385"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=26385"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}