CVE-2026-32696NanoMQ MQTT Broker 0.24.6版本存在安全漏洞。当启用HTTP认证(auth.http_auth)并配置了用户名或密码占位符(如%u或%P)时,如果客户端在连接时未提供用户名或密码,服务器在构造HTTP请求阶段会调用strlen()处理空指针,导致SIGSEGV崩溃,从而造成拒绝服务。
该漏洞位于NanoMQ的HTTP认证模块中。当配置项`auth.http_auth`被启用,且HTTP请求参数中使用了`%u`(用户名)或`%P`(密码)占位符时,程序会调用`auth_http.c`文件中的`set_data()`函数来准备认证数据。在特定条件下,攻击者发送一个不包含用户名和密码的MQTT CONNECT数据包。此时,代表用户名或密码的指针为NULL。程序随后直接将此NULL指针传递给`strlen()`函数。由于`strlen()`要求传入有效的字符串指针,解引用NULL指针导致段错误(SIGSEGV),进而导致NanoMQ服务进程崩溃。虽然CVSS评分较低(需要用户交互UI:R,且网络攻击复杂度AC:H),但该漏洞可被远程利用导致服务中断。