CVE-2026-76816: Netty: MQTT Topic Name and Client ID Validation Bypass
Netty is an asynchronous, event-driven network application framework. Prior to versions 4.1.137.Final and 4.2.17.Final, MqttEncoder does not validate client identifiers, will topics, usernames, and PUBLISH topic names before encoding, allowing prohibited null bytes in MQTT UTF-8 string fields and potentially causing routing, access-control, or identity mismatches in downstream brokers. The vulnerability is exploitable when an application uses Netty's MQTT encoder to construct messages from user-controlled input. This issue is fixed in versions 4.1.137.Final and 4.2.17.Final.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Netty (MqttEncoder)to a version that resolves this vulnerability.Fixed in 4.1.137.Final - Upgrade
Upgrade
Netty (MqttEncoder)to a version that resolves this vulnerability.Fixed in 4.2.17.Final
Event History
Frequently Asked Questions
Which deployments are exposed?
Deployments are exposed when an application uses Netty's MQTT encoder to construct MQTT messages from user-controlled input. The affected fields include client identifiers, will topics, usernames, and PUBLISH topic names.
What does an attacker need to exploit this issue?
An attacker needs the ability to influence values that the application passes into Netty's MQTT encoder for the affected MQTT UTF-8 string fields. They can supply prohibited null bytes because those values were not validated before encoding.
What is the impact of successful exploitation?
Malformed MQTT strings containing null bytes can cause downstream brokers to interpret routing, access-control, or client identity values inconsistently. The reported impact is limited to integrity effects.
How can the issue be remediated or mitigated?
Upgrade to Netty 4.1.137.Final or 4.2.17.Final. If upgrading is not immediately possible, validate application-supplied client IDs, will topics, usernames, and PUBLISH topic names before they reach the MQTT encoder, rejecting prohibited null bytes.