
Эксплойт proof-of-concept для CVE-2025-8110 в Gogs <=0.13.x, позволяющий аутентифицированному пользователю обойти защиту симлинков для произвольной записи файлов от имени пользователя процесса Gogs, что приводит к локальному повышению привилегий.
Gogs <= 0.13.x. Аутентифицированный пользователь коммитит symlink в репозиторий, а затем
вызывает API «обновление содержимого файла»
(PUT /api/v1/repos/<u>/<r>/contents/<path>). Gogs следует по symlink и
записывает управляемые атакующим байты в цель ссылки с привилегиями
процесса Gogs. Когда Gogs запущен от root, это произвольная запись в файл от root —
например, можно добавить правило NOPASSWD в /etc/sudoers.d/ для локального
повышения привилегий.
Сообщено Wiz Research.
CVE: CVE-2025-8110
python3 -m pip install requests pillow # gogs_register.py (OCR капчи)
# плюс бинарник `tesseract` в PATH (или отредактируйте путь R= в gogs_register.py)
gogs_register.py — получение аутентифицированного аккаунта в обход капчи при регистрацииpython3 gogs_register.py [username] [password] # по умолчанию: pocuser / PocPass123!
# цель http://127.0.0.1:3001 — отредактируйте B= для удалённого экземпляра
gogs_symlink_root.sh — запись через symlink./gogs_symlink_root.sh <gogs-user> <gogs-pass> [sudo-user]
# sudo-user по умолчанию — текущий пользователь; записывает /etc/sudoers.d/<sudo-user>
# запускать на целевой машине (доступны git и curl, Gogs доступен на 127.0.0.1:3001)
Только для авторизованного тестирования безопасности и обучения. Запускайте это только против систем, которыми вы владеете или на тестирование которых имеете явное письменное разрешение.
Автор: r3vpwnx