# ping(8)中的堆栈溢出漏洞
## 概述
ping 在处理接收到的数据包时存在一个缓冲区溢出漏洞。该漏洞出现在 pr_pack() 函数中,函数未能正确处理 IP 选项头,导致缓冲区溢出。
## 影响版本
该漏洞影响所有版本的 FreeBSD。
## 细节
- ping 读取来自网络的原始 IP 数据包并在 pr_pack() 函数中处理响应。
- 处理过程中需要重构 IP 头、ICMP 头以及(如果存在)“引述数据包”,“引述数据包”表示生成 ICMP 错误的数据包。
- pr_pack() 函数将接收到的 IP 和 ICMP 头复制到堆栈缓冲区中。如果数据包中包含 IP 选项头,该函数会忽略这些选项头,导致目标缓冲区溢出最多 40 字节。
## 影响
- 该内存安全漏洞可以由远程主机触发,导致 ping 程序崩溃。
- ping 进程在操作时以权限受限的方式运行,因此在漏洞触发点无法与系统其他部分进行有效交互。
# | POC 描述 | 源链接 | 神龙链接 |
---|---|---|---|
1 | The FreeBSD ICMP buffer overflow, freebsd buffer overflow poc | https://github.com/Inplex-sys/CVE-2022-23093 | POC详情 |
2 | CVE-2022-23093 FreeBSD Stack-Based Overflow | https://github.com/Symbolexe/DrayTek-Exploit | POC详情 |
3 | None | https://github.com/mpvx/CVE-2022-23093 | POC详情 |
4 | The FreeBSD ICMP buffer overflow, freebsd buffer overflow poc | https://github.com/SystemVll/CVE-2022-23093 | POC详情 |
暂无评论