CVE-2026-40047
Apache Camel: Camel-Docling: 사용자 정의 CLI 인자 검증 부족으로 DoclingProducer에서 인자 주입 및 경로 탐색 가능
- 게시됨
- 2026. 7. 6.
- 업데이트됨
- 2026. 7. 6.
- CNA 할당 중
- apache
- 증거 관찰됨
- 2026. 8. 6.
기본 CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N낮음 · 다음 30일
- 백분위수
- 83.4%
- 모델 날짜
- 2026. 9. 21.
EPSS는 통계적 추정치이지 확실성이나 영향의 척도가 아닙니다. 이를 CVSS, KEV 상태, 노출 및 환경과 결합하세요.
요약
Apache Camel Docling 컴포넌트의 명령어에서 인자 구분 기호의 부적절한 중성화('Argument Injection') 취약점입니다. camel-docling 컴포넌트는 DoclingProducer에서 인자 목록을 조합하고 java.lang.ProcessBuilder를 통해 실행하여 외부 `docling` 명령줄 도구를 호출합니다. `CamelDoclingCustomArguments` 교환 헤더(List<String>)를 통해 제공된 사용자 정의 CLI 인자는 검증이 불충분한 상태로 해당 인자 목록에 추가되었습니다. 기존 구현은 허용되지 않는 플래그의 차단 목록(denylist)에 의존했으며, 리터럴 `../` 시퀀스를 포함한 경로 값만 거부했습니다. 그 결과, 외부 영향을 받는 데이터를 `CamelDoclingCustomArguments` 헤더(또는 호출 구성을 위해 사용되는 경로 포함 헤더)로 전달하는 Camel 라우트는 프로듀서가 인식하지 못하거나 의도하지 않은 `docling` CLI 플래그를 하위 프로세스에 전달할 수 있었고, 리터럴 `../` 검사로 포착되지 않는 경로 탐색 시퀀스를 통해 의도된 디렉터리 밖으로 해석되는 경로 형태의 인자 값을 제공할 수 있었습니다. Camel 자체가 이러한 값들로 `docling` 호출을 구성하므로 컴포넌트가 이를 제한할 책임이 있으며, 약한 검증으로 인해 외부 도구에 전달되는 인자에서 CLI 인자 주입 및 디렉터리 탐색이 가능했습니다. 호출은 ProcessBuilder의 목록 기반 형태를 사용하므로 셸이 인자 값을 해석하지 않으며, 셸 메타문자를 통한 OS 명령 주입은 불가능했고, 수정 사항에 추가된 메타문자 거부는 심층 방어(defense-in-depth) 차원입니다. 이 문제는 Apache Camel 4.15.0부터 4.18.3 이전 버전에 영향을 미칩니다. 사용자는 CAMEL-23212 수정 사항이 포함된 릴리스로 업그레이드하는 것이 좋습니다. 메인라인에서는 Apache Camel 4.19.0(및 4.20.0과 같은 이후 릴리스)부터 수정 사항이 포함됩니다. 4.18.x LTS 릴리스 스트림 사용자는 4.18.3으로 업그레이드하십시오. 수정 사항은 차단 목록을 인식된 `docling` CLI 플래그의 엄격한 허용 목록(allowlist)으로 대체하고(인식되지 않은 플래그와 출력 디렉터리 플래그와 같은 프로듀서 관리 플래그를 거부), 인자 값의 셸 메타문자를 방어적으로 거부하며, 검증 전에 Path.normalize()로 경로 형태의 값을 정규화하여 리터럴 `../` 검사를 우회하는 탐색 시퀀스를 감지합니다. 심층 방어 차원에서 라우트 작성자는 신뢰할 수 없는 메시지 콘텐츠를 `CamelDoclingCustomArguments` 헤더 및 경로 포함 헤더에 매핑하지 않아야 하며, 신뢰할 수 없는 프로듀서에서 수신된 메시지에서 Camel 내부 헤더를 제거해야 합니다.
소스
2Apache Camel Docling 인수 유효성 검사 위험에 대한 전문적인 취약성 평가 보고서로, 기술적 영향, 수정 및 완화 전략을 포함합니다.
책임 있는 사용
귀하가 소유하고 있거나 테스트할 권한이 있는 시스템에 대해서만 취약점 정보를 사용하십시오. Kitploit은 공개 연구 메타데이터에 연결되며 익스플로잇 코드나 악성 페이로드를 저장하지 않습니다.