
CVE-2026-48204 の再現ツール: Apache Camel camel-mongodb-gridfs の gridfs.* ヘッダーインジェクションにより、認証されていない HTTP リクエストから GridFS 操作(ファイルの列挙/読み取り/削除)が上書きされる問題(4.14.8/4.18.3/4.21.0 で修正済み)
| ランタイム | ディレクトリ | スタック |
|---|
| Camel Spring Boot | camel-spring-boot/ | Spring Boot 3.2.0 + camel-spring-boot 4.18.2 |
| Camel Quarkus | camel-quarkus/ | Quarkus 3.36.0 + Camel Quarkus 3.36.0 (Camel 4.20.0 をバンドル) |
どちらも影響を受けるバージョン(4.14.8 / 4.18.3 / 4.21.0 で修正済み)であり、両方とも同一の欠陥を示しています:
ルートがmongodb-gridfsエンドポイントにoperationを設定しない場合、GridFsProducerはgridfs.operationヘッダーから操作を取得します。そのヘッダー(およびgridfs.objectid)はCamel*名前空間にないため、HTTPバウンダリフィルターはそれを除去しません — ファイルアップロードエンドポイントの認証されていないクライアントが、操作をlistAll(すべてのファイルを列挙し、ObjectIdを漏洩させる)またはremove(IDによるファイルの削除)に切り替えることができます — CWE-20 / CWE-284。
各サブディレクトリは自己完結型のプロジェクト(docker-compose.ymlによって起動されるMongoDBコンテナを含む)で、独自のDockerfileとREADMEを備えています。簡単に言うと、どちらの場合も:
cd camel-spring-boot # または: cd camel-quarkus
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack
docker compose down
| プロパティ | 値 |
|---|---|
| コンポーネント | camel-mongodb-gridfs |
| 影響を受けるクラス | org.apache.camel.component.mongodb.gridfs.GridFsProducer(エンドポイントのoperationが未設定の場合にgridfs.operationから操作を取得) |
| CWE | CWE-20(不適切な入力検証)/ CWE-284(不適切なアクセス制御) |
| 影響 | ヘッダーを介してGridFS操作を上書き → ファイルの列挙 / 読み取り / 削除; gridfs.metadata NoSQLインジェクション |
| 影響を受けるバージョン | 4.0.0から4.14.8未満、4.15.0から4.18.3未満、4.19.0から4.21.0未満 |
| 修正済みバージョン | 4.14.8、4.18.3、4.21.0 |
| JIRA | CAMEL-23575(PR apache/camel#23413) |
| クレジット | Yu Bao (PayPal) |
これらのリプロデューサーは、セキュリティ研究および許可されたテストのみを目的として提供されており、公開され修正済みの脆弱性に対するものです。明示的な許可なくシステムに対してこれらを使用しないでください。