Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-79984 — CVE-2026-79984에 대한 실행 가능한 개념 증명 재현 도구로, Apache Camel camel-mina-sftp의 경로 순회 취약점을 다루며, 악성 SFTP 서버 픽스처와 취약 빌드 및 수정 빌드를 포함합니다. | Kitploit
도구/GitHubGitHub/oscerd/cve-2026-79984
Defensive ToolsVulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & Education
GitHuboscerd/cve-2026-79984

CVE-2026-79984

CVE-2026-79984에 대한 실행 가능한 개념 증명 재현 도구로, Apache Camel camel-mina-sftp의 경로 순회 취약점을 다루며, 악성 SFTP 서버 픽스처와 취약 빌드 및 수정 빌드를 포함합니다.

저장소 보기
2일 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-79984 — camel-mina-sftp: consumer가 서버의 목록에서 원격 경로를 구성하며 격리 검사가 없음

Apache Camel 취약점에 대한 실행 가능한 개념 증명(PoC) 재현 프로그램으로, 여기서 mina-sftp consumer는 — 다른 원격 파일 consumer들과 동일한 RemoteFileConsumer 기본 클래스에서 파생되며 — 폴링된 각 파일의 절대 원격 경로를 구성할 때 구성된 디렉터리와 서버의 디렉터리 목록에서 보고된 이름을 연결하며, 어휘적 정규화도, 격리 검사도 수행하지 않습니다. 그 경로는 이후 검색(항상)의 피연산자가 되며, delete=true, move, preMove, moveFailed 또는 readLock=rename이 구성된 경우 삭제 또는 이름 변경의 피연산자가 됩니다.

SFTP 디렉터리 항목 이름은 서버가 제공하는 원시 프로토콜 문자열이므로, 침해되었거나 악의적이거나 멀티테넌트인 서버는 단일 경로 세그먼트가 아닌 이름을 보고할 수 있습니다.

이는 CVE-2026-79983(camel-ftp)의 mina-sftp 형제 항목입니다. 둘 다 동일한 근본 원인과 동일한 수정을 공유합니다.

런타임디렉터리스택
Camel Spring Bootcamel-spring-boot/Spring Boot 3.5.13 + camel-mina-sftp 4.22.0 (영향받음; 수정됨 4.22.1)
Camel Quarkuscamel-quarkus/Quarkus 3.39.0 + camel-quarkus-mina-sftp 3.39.0 (Camel 4.22.0, 영향받음; 수정된 대조군 3.40.0 / Camel 4.22.1)

camel-mina-sftp는 Camel 4.18.0에서 도입되었으므로, 가장 높은 번호의 Camel Quarkus에 번들된 Camel 4.15.0에는 이 컴포넌트가 존재하지 않습니다. 이 재현 프로그램은 Camel Quarkus 3.39.0(Camel 4.22.0, 영향받음)을 사용하며, 3.40.0(Camel 4.22.1)을 패치된 대조군으로 사용합니다. 따라서 두 모듈 모두 영향받는 동작 및 수정된 동작을 보여줍니다.

무엇을 보여주는가

이 앱은 의도적으로 악의적인 SFTP 서버(Apache MINA SSHD)를 내장합니다. 실제 임시 디렉터리 트리를 제공하지만, SSH_FXP_READDIR 응답에서 폴링된 디렉터리 /upload에 있는 한 파일의 이름을 getShortName 재정의를 통해 경로 순회 문자열 d/../../outside.txt로 다시 씁니다. 이 이름은 점으로 시작하지 않으므로 Camel의 숨김 파일 규칙에 걸리지 않으며, /upload + d/../../outside.txt는 폴링된 디렉터리보다 한 단계 위인 /outside.txt로 해석됩니다. 일반 mina-sftp consumer가 /upload를 폴링합니다.

  • 영향받음: normal.txt와 탈출하는 /outside.txt를 모두 검색합니다.
  • 수정됨: normal.txt를 유지하고 탈출하는 항목을 건너뛰며, Skipping file as it resolves outside the starting directory: upload/d/../../outside.txt를 기록합니다.
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack
docker compose down

영향을 받은 빌드에서 예상되는 출력:

    name=[d/../../outside.txt]  <<< FILE FROM OUTSIDE THE POLLED DIRECTORY
        content: OUTSIDE-SECRET (/outside.txt, a file the consumer should never reach)
    name=[normal.txt]  (inside)

취약점 요약

속성값
구성 요소camel-mina-sftp (mina-sftp 스킴)
CWECWE-22 (경로명에 대한 부적절한 제한 - 제한된 디렉터리)
심각도HIGH
공격 벡터단일 경로 세그먼트가 아닌 READDIR 항목 이름(서버 제공)
영향엔드포인트의 자격 증명을 사용하여 폴링된 디렉터리 외부의 파일을 읽고, delete/move/readLock=rename과 함께 사용 시 삭제 또는 이름 변경
영향받는 버전4.18.0부터 4.18.5 이전, 4.19.0부터 4.22.1 이전
수정된 버전4.18.5, 4.22.1, 4.23.0
JIRACAMEL-24487
크레딧Dilrevx from NSSL, SJTU

권고문: https://camel.apache.org/security/CVE-2026-79984.html

수정 내용

GenericFileConsumer.isWithinStartingDirectory(RemoteFileConsumer에 의해 재정의되며, mina-sftp 컨슈머가 파생되는 클래스)는 확인된 경로를 압축하고, 경로 세그먼트 경계에서 해당 경로가 폴링된 디렉터리 내부에 유지되는지 검증합니다. 외부로 확인되는 항목은 경고와 함께 건너뛰며, 정상적인 항목은 계속 처리됩니다.

업그레이드할 수 없는 경우의 완화 조치

서버 호스트 키를 검증하고, filter/antInclude/include를 사용하여 컨슈머가 단일 세그먼트 이름만 허용하도록 제한하며, 목록이 완전히 신뢰되지 않는 서버에 대해 delete/move/preMove/moveFailed/readLock=rename을 사용하지 마십시오. 가능한 경우 서버 계정을 폴링된 디렉터리로 제한하십시오.

면책 조항

이 저장소는 교육 및 방어 목적으로 게시됩니다. Apache Camel 사용자가 취약점을 이해하고, 영향을 받는지 확인하며, 업그레이드가 문제를 해결하는지 검증할 수 있도록 돕기 위한 것입니다. 악성 서버와 "secret"은 동작하지 않는 로컬 픽스처입니다. 소유하거나 운영하지 않는 시스템에 이 자료를 사용하지 마십시오.

도구 다운로드