关键信息摘要 影响产品 供应商: Tenda (深圳市腾达科技股份有限公司) 产品: Tenda HG9 受影响版本: Firmware V300001138 漏洞类型: 堆栈溢出 漏洞描述 在 Tenda HG9 路由器的诊断 ping 接口 中存在堆栈溢出漏洞。具体而言, 函数中的 调用不当会导致错误消息格式化时栈溢出。 根本原因 缓冲区分配: 程序在堆栈上分配 512 字节大小的缓冲区 。 输入检索: 用户输入的 未经过充分检查。 触发条件: 当系统 ping 命令返回 "ping: bad" 时(如地址无效或 DNS 查找失败)。 漏洞点: 在错误处理路径中直接将用户输入 拷贝到缓冲区 ,未检查长度。 影响 拒绝服务 (DoS): 大量 payload 会导致堆栈损坏,使 httpd 进程崩溃。 远程代码执行 (RCE): 如果 payload 精心构造以覆盖返回地址,则攻击者可执行任意代码。 证明概念 (PoC) 代码显示了一个 Python 脚本,用于发送长字符串以触发漏洞。 固件模拟 固件在模拟环境中成功运行,web 界面可访问,漏洞可在该环境中触发。 修复建议 1. 使用安全函数: 在错误处理块中用 替换 。 - 示例: 2. 输入验证: 确保 长度合理(例如,小于 256 字节)。