以下是从截图中获取到的关于漏洞的关键信息: 漏洞概要 漏洞名称: NanoMQ $share/ 订阅验证和转发解析不一致: 空指针递增导致崩溃 发布者: JaylinYu 发布日期: 11小时前 漏洞级别: 中等 影响版本与修复 受影响版本: 0.24.6 已修复版本: 无 描述 摘要 NanoMQ在处理共享订阅($share/)时存在解析/转发不一致性,导致在存储无效主题过滤器时缺乏严格的验证,使得任何匹配的PUBLISH信息在发送路径时再次解析$share/,如果strchr()返回NULL,将导致空指针递增触发SIGSEGV。 证明概念(PoC) 需要安装MQTT客户端工具 使用特定的命令创建畸形的共享订阅和发布信息,以匹配并触发转发,导致崩溃。 环境细节 NanoMQ版本:0.24.6 测试条件:本地代理,使用mosquitto-clients进行重现。 详情 日志/崩溃跟踪 漏洞代码路径 broker_tcp.c文件部分代码 订阅侧验证问题 影响 SUBSCRIBE以主题$share/ab成功,绕过了不正确的共享订阅格式验证。 接下来的PUBLISH会导致未定义行为和崩溃,UBSan报告在broker_tcp.c:1058处空指针偏移1处有运行时错误,最终由topic_filtern ()调用的strlen()引发SIGSEGV。