
Exploit for CVE-2025-11001
В этом репозитории представлены результаты моего краткого исследования CVE-2025-11001. Эксплойт написан на Python с использованием менеджера проекта astral uv.
Некоторые:
Я не буду слишком глубоко вдаваться в технические детали этой уязвимости. Если хотите, почитайте хороший разбор первопричины от pacbypass и посмотрите дифф фикса на GitHub. Ниже лишь краткое описание.
Проблема заключается в механизме обработки символических ссылок. Когда мы передаём символическую ссылку Linux на абсолютный путь Windows (например, C:\), ссылка всё равно обрабатывается как относительная. Из-за этого наш относительный путь к папке, в которую мы извлекаем файлы, добавляется к пути из символической ссылки, что позволяет выполнить обход пути назначения. Это открывает нам возможность записи в любой файл, в который 7-Zip может писать.
Эксплуатация довольно прямолинейна. Нам просто нужно добавить символическую ссылку, указывающую на целевую директорию, и добавить файл с полезной нагрузкой. Сначала распакуется ссылка, а затем файл с полезной нагрузкой будет записан в эту символическую ссылку, что позволяет осуществить произвольную запись в файлы.
[!CAUTION] Будьте осторожны при использовании этого PoC-эксплойта! Открывайте и распаковывайте полученные архивы только в тестовой среде.
Чтобы использовать это, сначала обновите exploit/resources/config.toml:
[path]
# An output path (target zip file)
output = 'resource/output/result.zip'
# A dir with files that will be added to archive
source = 'path/to/some/dir'
# A target dir (dir with file to replace)
target = 'C:\Windows\System32'
# Payload (a file that will be placed instead of original one)
payload = 'C:\Windows\System32\calc.exe'
Затем просто запустите:
uv run src/main.py
И посмотрите итоговый zip-файл.
После распаковки архива с помощью уязвимой сборки 7-Zip на Windows (builds < 25.0) целевой файл будет заменён полезной нагрузкой. Архив будет успешно извлечён, но в нём появится скрытая папка .zip (содержащая вредоносную ссылку).
создано I3r1h0n.