CVE-2026-95629
Apache Camel: Camel-Docling의 검증되지 않은 출력 경로 헤더로 인해 변환 출력을 임의 디렉터리에 기록 가능
- 게시됨
- 2026. 10. 26.
- 업데이트됨
- 2026. 11. 2.
- CNA 할당 중
- apache
- 증거 관찰됨
- 2026. 10. 30.
기본 CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L낮음 · 다음 30일
- 백분위수
- 27.0%
- 모델 날짜
- 2026. 10. 31.
EPSS는 통계적 추정치이지 확실성이나 영향의 척도가 아닙니다. 이를 CVSS, KEV 상태, 노출 및 환경과 결합하세요.
요약
Apache Camel Docling 구성 요소의 경로명 제한 디렉터리 부적절 제한('경로 순회') 취약점입니다. 이 문제는 Apache Camel 4.15.0 이상 4.18.5 미만, 4.19.0 이상 4.22.2 미만 버전에 영향을 미칩니다. DoclingProducer는 기본 모드인 CLI 모드에서 외부 docling 도구를 실행하며, `--output` 플래그를 통해 변환된 문서를 어디에 쓸지 지정합니다. `CamelDoclingOutputFilePath` 헤더가 설정된 경우, addOutputDirectoryArguments는 그 값을 그대로 해당 플래그에 전달했습니다. 값이 정규화되지 않았고, 절대 경로나 `..` 세그먼트를 포함한 경로가 그대로 허용되었으며, 어떤 엔드포인트 옵션으로도 이를 특정 디렉터리로 제한할 수 없었습니다. CVE-2026-40047 수정으로 추가된 사용자 지정 인자 검증은 `CamelDoclingCustomArguments` 헤더에서 `--output` 및 `-o` 플래그를 거부하고, 호출자에게 대신 이 헤더로 출력 디렉터리를 선택하라고 안내하므로, docling이 어디에 쓸지를 결정하는 유일한 값이 사용자 지정 인자에 적용되는 검사 없이 명령줄에 도달했습니다. Docling은 변환 결과를 Markdown, HTML, JSON 또는 텍스트로 해당 디렉터리에 쓰며, 입력 파일 이름을 따서 파일 이름을 지정하고, 이후 프로듀서는 자신의 임시 디렉터리만 제거하므로 파일은 그대로 남습니다. 따라서 헤더를 설정할 수 있는 주체는 Camel 프로세스가 쓸 수 있는 모든 디렉터리에 변환 출력을 생성할 수 있었습니다. 그러한 파일의 내용은 메시지가 전달하는 문서의 변환이므로, 바이트 단위로 그대로 기록되지는 않지만 해당 문서를 제공하는 주체에 의해 형성되며, 문서 내용이 메시지 본문으로 도착하면 프로듀서는 이를 임의의 임시 이름으로 저장하고 출력 파일이 그 이름을 갖게 됩니다. 이 헤더는 Camel 헤더 네임스페이스에 속하며, Camel의 기본 헤더 필터링을 적용하는 컨슈머(예: JMS 및 Kafka 컨슈머)는 수신 메시지에서 이를 제거하므로, 이 문제는 라우트가 외부에서 영향을 받은 값을 헤더로 전달하거나 컨슈머가 해당 필터링 없이 수신 헤더를 매핑하는 경우에 발생합니다. docling-serve 모드는 이 헤더를 사용하지 않습니다. 사용자는 이 문제를 수정한 버전 4.23.0으로 업그레이드할 것을 권장합니다. 4.22.x 릴리스 스트림을 사용 중인 경우 4.22.2로 업그레이드할 것을 권장합니다. 4.18.x 릴리스 스트림을 사용 중인 경우 4.18.5로 업그레이드할 것을 권장합니다. 이 수정은 기본적으로 설정되지 않은 `outputBaseDirectory` 엔드포인트 옵션을 추가하므로, 업그레이드 후 `CamelDoclingOutputFilePath` 헤더가 배포 외부에서 영향을 받은 값을 전달할 수 있는 모든 docling 엔드포인트에 이를 설정해야 합니다. 설정하지 않으면 헤더는 정규화되지만 여전히 임의의 디렉터리를 지정할 수 있습니다. 4.15.x~4.17.x 및 4.19.x~4.21.x 릴리스 라인은 이 문제가 해결되기 전에 수명이 종료되어 수정 사항을 받지 못하므로, 해당 버전의 배포는 지원되는 릴리스로 이동해야 합니다. 즉시 업그레이드할 수 없는 배포의 경우, 배포 외부에서 발생한 값으로 `CamelDoclingOutputFilePath` 헤더를 구성하지 말고, 외부에서 도착한 메시지가 docling 엔드포인트에 도달하기 전에 해당 헤더를 제거하며, 수신 메시지 헤더를 매핑하는 컨슈머가 Camel 헤더 네임스페이스를 제거하도록 하여 라우트 자체만이 출력 디렉터리를 선택하도록 해야 합니다.
소스
CVE-2026-95629에 대한 실행 가능한 개념 증명 재현기로, Apache Camel camel-docling의 경로 순회 취약점이며 output-path 헤더가 docling의 --output에 그대로 전달됩니다.
책임 있는 사용
귀하가 소유하고 있거나 테스트할 권한이 있는 시스템에 대해서만 취약점 정보를 사용하십시오. Kitploit은 공개 연구 메타데이터에 연결되며 익스플로잇 코드나 악성 페이로드를 저장하지 않습니다.