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

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-84180 — CVE-2026-84180에 대한 실행 가능한 Spring Boot 및 Quarkus 재현 프로그램으로, camel-knative HTTP 컨슈머 예외 누출을 시연하고 muteException 수정 사항을 검증합니다. | Kitploit
도구/GitHubGitHub/oscerd/cve-2026-84180
Defensive ToolsVulnerability AnalysisInformation GatheringWeb SecurityLearning & Education
GitHuboscerd/cve-2026-84180

CVE-2026-84180

CVE-2026-84180에 대한 실행 가능한 Spring Boot 및 Quarkus 재현 프로그램으로, camel-knative HTTP 컨슈머 예외 누출을 시연하고 muteException 수정 사항을 검증합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-84180 — camel-knative: HTTP 컨슈머 정보 노출 (예외가 호출자에게 다시 기록됨)

Apache Camel 취약점에 대한 실행 가능한 개념 증명(PoC) 재현 도구로, Knative HTTP 컨슈머가 컨슈머 측에서 익스체인지가 실패했을 때 발생한 예외를 HTTP 응답 본문으로 원격 호출자에게 다시 기록한 문제입니다. 여기에는 예외의 클래스 이름, 메시지, 전체 스택 트레이스가 포함됩니다. 따라서 외부 발신자는 실패를 유발하고 배포에 대한 내부 세부 정보를 읽을 수 있었습니다. 즉, 클래스 및 패키지 이름, 예외 메시지에 담긴 파일 시스템 또는 호스트 이름, 라우트의 구조, 그리고 예외 메시지에 연결 문자열이나 구성이 포함된 경우에는 해당 데이터까지 직접 읽을 수 있었습니다. camel-knative는 CAMEL-23651에 의해 다른 HTTP 컨슈머들에 대해 확립된 muteException 동작과 정렬되지 않은 마지막 HTTP 계열 컨슈머였습니다.

런타임디렉터리스택
Camel Spring Bootcamel-spring-boot/Spring Boot 3.5.13 + camel-knative 4.22.0 (영향받음, 4.22.1에서 수정됨), Camel의 Vert.x platform-http 서버 상의 컨슈머
Camel Quarkuscamel-quarkus/Quarkus 3.29.0 + camel-quarkus-knative (Camel 4.15.0, 영향받음, 수정된 대조군 CQ 3.40.0 / Camel 4.22.1), Quarkus HTTP 상의 컨슈머

두 모듈 모두 영향받는 동작 및 수정된 동작을 보여줍니다.

무엇을 보여주는가

Knative HTTP 소스(컨슈머) 라우트가 CloudEvent를 수신한 뒤 처리 중에 실패합니다. 이는 내부 오류(실패한 데이터소스 조회, 다운스트림 타임아웃, 버그)를 겪는 모든 라우트를 대신합니다. 이 라우트는 시뮬레이션된 내부 세부 정보를 메시지에 담은 IllegalStateException을 던집니다. 여기에는 가짜 내부 호스트 이름 (internal-db.prod.svc.cluster.local), 가짜 JDBC URL, 마커 토큰 INTERNAL-DETAIL-MARKER-7F3A2B가 포함됩니다. 공격자는 단순히 원격 호출자로서, 잘 구성된 CloudEvent 하나를 컨슈머에 POST하고 컨슈머가 돌려보내는 응답을 읽습니다.

  • 영향받음: 응답은 전체 스택 트레이스가 본문인 HTTP 500입니다. 즉, 예외 클래스 이름, 메시지(내부 호스트 이름 + 마커 토큰), 그리고 at com.example... / 프레임워크 스택 프레임이 포함됩니다.
  • 수정됨: 응답은 빈 본문을 가진 HTTP 500입니다. 이제 컨슈머가 muteException(기본값 true)을 준수하므로, 오류 상태는 반환되지만 예외 세부 정보는 호출자에게 전달되지 않습니다.
# Camel Spring Boot
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack      # affected: stack trace leaks; prints >>> PROVEN
docker compose down
# Patched control: rebuild with the fixed version, then run on the host
mvn clean package -Dcamel.version=4.22.1
java -jar target/cve-2026-84180-knative-info-disclosure-0.0.1-SNAPSHOT.jar &
curl -s http://localhost:8080/exploit/attack      # fixed: empty body; prints >>> Not exploited
# Camel Quarkus
cd camel-quarkus
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack      # affected (Camel 4.15.0): stack trace leaks; >>> PROVEN
docker compose down
# Patched control: CQ 3.40.0 ships Camel 4.22.1
mvn clean package -Dcamel-quarkus.version=3.40.0 -Dquarkus.platform.version=3.40.0
java -jar target/quarkus-app/quarkus-run.jar &
curl -s http://localhost:8080/exploit/attack      # fixed: empty body; >>> Not exploited

취약점 요약

속성값
구성 요소camel-knative (Knative HTTP 컨슈머, KnativeHttpConsumer.computeResponseBody)
CWECWE-209 (민감한 정보를 포함하는 오류 메시지 생성)
심각도MEDIUM
공격 벡터원격 호출자가 컨슈머 측에서 라우트 실패를 유발하고 응답 본문에서 예외 세부 정보를 읽음
영향정보 노출: 예외 클래스/메시지/스택 트레이스(내부 호스트 이름, 패키지 이름, 라우트 구조, 내장된 연결 문자열)가 외부 발신자에게 전달됨
영향받는 버전4.0.0부터 4.18.5 이전, 4.19.0부터 4.22.1 이전
수정된 버전4.18.5, 4.22.1, 4.23.0
JIRACAMEL-24428
크레딧Claude Security Scan Tool

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

수정 내용

KnativeHttpConsumer.computeResponseBody는 이제 새로운 muteException 옵션(컨슈머, 기본값 true)을 확인합니다. 음소거된 경우, 실패한 교환은 스택 트레이스 대신 빈 응답 본문(new byte[0])을 생성합니다. 빈 본문은 오류 상태가 유지되도록 의도적으로 사용됩니다 (null 본문은 호출자가 204 No Content를 전송하게 만들기 때문입니다). 이전 출력을 복원하려면 muteException=false로 설정하십시오. 이는 camel-knative를 다른 HTTP 계열 컨슈머들과 일치시킵니다(CAMEL-23651).

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

컨슈머 라우트에 onException 핸들러를 추가하여 응답 본문을 명시적으로 설정하십시오(예: 빈 본문 또는 일반 메시지로). 그러면 프레임워크가 예외를 호출자에게 다시 기록하지 않습니다.

면책 조항

이 저장소는 교육 및 방어 목적으로 게시됩니다: Apache Camel 사용자가 취약점을 이해하고, 영향을 받는지 확인하며, 업그레이드가 이를 해결하는지 검증할 수 있도록 돕기 위해서입니다. 실패하는 라우트의 "내부" 호스트 이름, JDBC URL 및 마커 토큰은 무해한, 가상의 로컬 픽스처입니다 — 실제 비밀 정보는 포함되지 않습니다. 소유하거나 운영하지 않는 시스템에 이 자료를 사용하지 마십시오.

도구 다운로드