漏洞总结:Cesanta Mongoose 7.20 栈缓冲区溢出 漏洞概述 漏洞类型: 栈缓冲区溢出 (Stack-based Buffer Overflow) 受影响组件: Cesanta Mongoose 7.20 (mDNS 功能) 漏洞描述: 在 函数中,程序分配了一个固定的 282 字节栈缓冲区用于构建 mDNS 响应。当响应 PTR 查询时,函数试图将四个 DNS 记录(PTR + SRV + TXT + A)顺序写入该单一缓冲区,且未进行边界检查。 触发条件: 当使用标准 mDNS 服务元数据生成 PTR 响应时,所需空间实际上超过了 282 字节。特别是在 函数中,对 TXT 记录的 操作没有边界检查,导致溢出。 影响范围 后果: 溢出会覆盖保存的寄存器 和 ,并将返回地址 ( ) 覆盖到 MIPS 栈上。当 函数返回时,会导致程序崩溃或潜在的安全风险。 相关代码片段 1. 固定大小的栈缓冲区定义: 2. 存在漏洞的无边界复制操作**: