
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.
각 하위 디렉터리는 자체 Dockerfile과 README를 포함한 독립 실행형 프로젝트입니다(자체 docker-compose.yml로 시작되는 MongoDB 컨테이너 포함). 간단히 말해, 둘 중 하나에 대해:
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) |
이 재현기들은 공개적으로 공개되고 수정된 취약점에 대한 보안 연구 및 승인된 테스트 전용으로 제공됩니다. 명시적 허가 없이 시스템에 사용하지 마십시오.