关键信息总结 漏洞概述 漏洞类型: 签名整数溢出 受影响组件: 的 RTT 计算部分 触发条件: 通过伪造 ICMP Echo Reply 中的 timestamp 字段,使其值过大,导致乘法运算时发生签名整数溢出。 影响版本 当前 master 分支: https://github.com/iputils/iputils/tree/master Ubuntu 包版本: iputils-ping 3:20240117-1ubuntu1 环境 发行版: Ubuntu 24.04.1 LTS (Noble Numbat) 内核: 5.15.167.4-microsoft-standard-WSL2 架构: x86_64 复现步骤 1. 设置编译标志: 2. 克隆并构建 iputils: 3. 启动 PoC 脚本: 4. 运行 ping: 5. 观察 ASan 报告的签名整数溢出错误: 根因分析 问题代码位置: 具体问题: 在计算 时, 是一个有符号的 64 位整数,攻击者可以通过 ICMP payload 控制其值,当乘以 1,000,000 后可能超过 ,导致签名整数溢出。 建议修复方案 修改 RTT 计算: 使用 128 位中间变量,并进行钳制处理,防止溢出。 PoC 脚本 脚本名称: 功能: 发送构造的 ICMP 回显应答包,触发漏洞。 报告人 姓名: Mohamed Maataallah 邮箱: hotelmaatalahrecemail@gmail.com