
PoC of CVE-2025-60751
PoC для CVE-2025-60751
Затронутый продукт: Geographiclib <= v2.5.1
Полная статья доступна по адресу https://zer0matt.blogspot.com/2026/05/cve-2025-60751-geographiclib-stack.html
Переполнение стека происходит, когда GeoConvert получает специально сформированный вход. Переполнение происходит из-за того, что программа не проверяет корректность внутреннего индекса, что позволяет осуществить запись за границы стека.
Злоумышленник может использовать эту уязвимость для захвата потока управления программы, перезаписывая адрес возврата на функцию libc (ret2libc) и выполняя произвольный код с помощью ROP-цепочки.
[~] 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-цепочки, так как адреса могут различаться из-за методов защиты памяти, таких как ASLR.