zer0matt/CVE-2025-60751
GitHub: zer0matt/CVE-2025-60751
针对 GeographicLib GeoConvert 工具栈缓冲区溢出漏洞(CVE-2025-60751)的 Python 概念验证利用脚本。
Stars: 0 | Forks: 0
# CVE-2025-60751
CVE-2025-60751 的 PoC
受影响产品:[Geographiclib](https://github.com/geographiclib/geographiclib) <= v2.5.1
完整的分析文章可在 [https://zer0matt.blogspot.com/2026/05/cve-2025-60751-geographiclib-stack.html](https://zer0matt.blogspot.com/2026/05/cve-2025-60751-geographiclib-stack.html) 查看
### 描述
当 GeoConvert 接收到恶意构造的输入时,会发生 stack 缓冲区溢出。
发生溢出的原因是程序未正确验证内部 index,导致在 stack 上发生越界写入。
攻击者可以利用此漏洞,通过覆盖返回地址使其指向 libc 函数(ret2libc)来劫持程序的控制流,并利用 ROP chain 执行任意代码。
### 用法
```
[~] python3 CVE-2025-60751.py
[*] '/home/matt/geographiclib/tools/GeoConvert'
Arch: amd64-64-little
RELRO: Partial RELRO
Stack: No canary found
NX: NX enabled
PIE: PIE enabled
FORTIFY: Enabled
ASAN: Enabled
Stripped: No
Debuginfo: Yes
[+] Starting local process '/home/matt/geographiclib/tools/GeoConvert': pid 398391
[*] Switching to interactive mode
ERROR: Column letter A not in UPS band A set JKLPQRSTUXYZ
$
```
### 注意事项
请记住相应地修改地址以构建您自己的 ROP Chain,由于 ASLR 等内存防御技术,地址可能会有所不同。
标签:CVE-2025-60751, Go语言工具, PoC, ROP, Web报告查看器, 云资产清单, 暴力破解, 栈溢出, 逆向工具, 逆向工程