CVE-2026-60093
Apache Camel: Camel-Azure-Storage-DataLake: downloadToFile 작업이 원격 경로 이름으로 로컬 다운로드 대상을 구성하면서 구성된 fileDir로 제한하지 않았습니다
- 게시됨
- 2026. 8. 24.
- 업데이트됨
- 2026. 8. 25.
- CNA 할당 중
- apache
- 증거 관찰됨
- 2026. 8. 24.
기본 CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N낮음 · 다음 30일
- 백분위수
- 17.7%
- 모델 날짜
- 2026. 9. 21.
EPSS는 통계적 추정치이지 확실성이나 영향의 척도가 아닙니다. 이를 CVSS, KEV 상태, 노출 및 환경과 결합하세요.
요약
Apache Camel Azure-Storage Datalake 컴포넌트의 상대 경로 탐색 취약점 이 문제는 Apache Camel에 영향을 미칩니다: 4.0.0 이상 4.14.9 미만, 4.15.0 이상 4.18.4 미만, 4.19.0 이상 4.22.0 미만 버전입니다. camel-azure-storage-datalake 컴포넌트는 downloadToFile 작업을 통해 Azure Data Lake Storage Gen2 파일을 로컬 파일 시스템으로 다운로드할 수 있으며, fileDir 엔드포인트 옵션으로 지정된 디렉터리에 파일을 씁니다. DataLakeFileOperations.downloadToFile은 Azure SDK가 보고한 그대로의 원격 경로 이름을 fileDir과 연결(new File(fileDir, fileClientWrapper.getFileName()))하여 로컬 대상을 구성하고, 어휘적 정규화 없이 그리고 해석된 위치가 fileDir 내부에 유지되는지에 대한 검사 없이 그 결과를 SDK 다운로드 호출에 직접 전달했습니다. 원격 이름은 라우트가 제어하는 데이터가 아닙니다: 컨슈머는 DataLakeConsumer.createBatchExchangesFromPath에서 파일 시스템을 열거하며, 경로를 나열하고 PathItem.getName()에서 얻은 항목 이름을 그대로 사용하여 항목별로 하나의 Exchange를 생성하며, 기본적으로 이름 필터링을 적용하지 않습니다. 따라서 상위 디렉터리 세그먼트를 포함하는 경로 이름은 구성된 fileDir 외부의 위치로 해석되었으며, 컨슈머가 소비하는 Data Lake 파일 시스템에 존재하는 이름에 영향을 줄 수 있는 사람은 누구나 Camel 프로세스의 권한으로 자신이 선택한 위치에 파일을 생성하거나 덮어쓰도록 Camel을 만들 수 있습니다. 프로세스가 쓸 수 있는 대상에 따라, 다운로드 디렉터리 외부의 파일을 덮어쓰는 것은 해당 파일의 무결성 손실을 넘어 확대될 수 있습니다. fileDir 옵션은 일반(common) 그룹 구성 매개변수이며 보안 표시가 없으므로, 사용자에게 해당 값이 격리 경계로 강제되지 않는다는 신호가 전달되지 않았습니다. Camel의 다른 파일 다운로드 컨슈머(camel-file, camel-ftp, camel-smb, camel-mina-sftp, camel-azure-files)는 이미 경로 세그먼트 경계 검사를 사용하여 로컬 다운로드를 구성된 디렉터리로 제한했습니다. 그러나 camel-azure-storage-datalake 다운로드 경로는 해당 작업에 포함되지 않았습니다. 사용자는 이 문제를 해결하는 버전 4.22.0으로 업그레이드하는 것이 좋습니다. 4.14.x LTS 릴리스 스트림을 사용하는 사용자는 4.14.9로 업그레이드하는 것이 좋습니다. 4.18.x 릴리스 스트림을 사용하는 사용자는 4.18.4로 업그레이드하는 것이 좋습니다. 즉시 업그레이드할 수 없는 배포의 경우, 컨슈머가 처리할 이름을 regex 엔드포인트 옵션으로 제한하십시오. 이 옵션은 나열된 각 경로 이름에 전체 문자열 일치로 적용되므로, 단순한 단일 세그먼트 이름만 허용되고 경로 구분 기호나 상위 디렉터리 세그먼트가 포함된 이름은 Exchange가 생성되기 전에 필터링됩니다. 또는 신뢰할 수 없는 파일 시스템에서 downloadToFile 작업을 사용하지 말고, 원격 목록에서 가져온 파일 이름 대신 라우트 자체가 제어하는 파일 이름으로 라우트의 페이로드를 쓰십시오. 심층 방어 차원에서, 외부에서 쓸 수 있는 Data Lake 파일 시스템의 객체 이름을 신뢰할 수 없는 입력으로 취급하고 이로부터 로컬 파일 시스템 경로를 파생하지 마십시오.
소스
1camel-azure-storage-datalake의 Apache Camel 경로 탐색 취약점(CVE-2026-60093)에 대한 개념 증명(PoC) 재현 코드로, downloadToFile을 통한 임의 파일 쓰기(arbitrary file write)를 시연합니다.
책임 있는 사용
귀하가 소유하고 있거나 테스트할 권한이 있는 시스템에 대해서만 취약점 정보를 사용하십시오. Kitploit은 공개 연구 메타데이터에 연결되며 익스플로잇 코드나 악성 페이로드를 저장하지 않습니다.