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

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-85313 — CVE-2026-85313을 재현하는 실행 가능한 Spring Boot 개념 증명으로, Apache Camel camel-jetty의 enableCORS가 자격 증명과 함께 모든 origin을 반사하는 문제와 수정된 버전의 대조군을 포함합니다. | Kitploit
도구/GitHubGitHub/oscerd/cve-2026-85313
Vulnerability AnalysisExploitationWeb Application ExploitationConfiguration AuditingWeb SecurityLearning & Education
GitHuboscerd/cve-2026-85313

CVE-2026-85313

CVE-2026-85313을 재현하는 실행 가능한 Spring Boot 개념 증명으로, Apache Camel camel-jetty의 enableCORS가 자격 증명과 함께 모든 origin을 반사하는 문제와 수정된 버전의 대조군을 포함합니다.

저장소 보기
922시간 56분 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-85313 — camel-jetty: enableCORS가 자격 증명이 포함된 모든 출처 접근을 허용함

Jetty 엔드포인트에서 **enableCORS=true**를 설정하면 Jetty의 CrossOriginFilter가 기본 설정으로 설치되어, 모든 출처를 반영하고 자격 증명을 허용하는 Apache Camel 취약점에 대한 실행 가능한 개념 증명(PoC) 재현 도구입니다. CORS를 요청하기만 한 운영자는 모든 출처의 페이지가 엔드포인트에 자격 증명이 포함된 교차 출처 요청을 보내고 응답을 읽을 수 있는 정책을 얻게 됩니다. 반영된 출처와 Access-Control-Allow-Credentials: true의 조합은 Fetch 표준이 *로 표현하는 것을 거부하는 바로 그 자격 증명 포함 모든 출처 구성이며, 반영은 그 규칙을 우회하는 일반적인 방법입니다(CWE-942).

Spring Boot 전용. 이 재현 도구는 단일 Camel Spring Boot 모듈을 제공합니다. 결함은 Jetty HTTP 서버를 내장한 camel-jetty에 있습니다. Camel Quarkus에는 camel-quarkus-jetty 확장이 없습니다 — Quarkus는 Vert.x(platform-http)를 통해 HTTP를 제공합니다 — 따라서 재현할 Quarkus 대응물이 없습니다. (동반 권고문 CVE-2026-85316은 platform-http-vertx의 동일한 결함 유형을 다룹니다.) Spring Boot 모듈은 영향을 받는 동작 및 수정된 동작을 보여줍니다.

런타임디렉터리스택
Camel Spring Bootcamel-spring-boot/Spring Boot 3.5.13 + camel-jetty 4.22.0 (영향 받음; 수정 버전 4.22.1), Jetty 12.1.11

보여주는 내용

하나의 프로세스에서 두 개의 Jetty 서버가 실행됩니다: 취약한 엔드포인트 /protected(포트 8081)는 enableCORS=true로 선언되고, 검증자 엔드포인트 /exploit/attack(포트 8080)은 공격자의 브라우저 역할을 합니다. 각 호출에서 검증자는 배포에서 승인한 적 없는 출처인 Origin: https://evil.example을 담아 /protected로 교차 출처 GET을 보내고, 돌아오는 CORS 헤더를 보고합니다.

  • 영향 받음: 응답이 Access-Control-Allow-Origin: https://evil.example을 반영하고 또한 Access-Control-Allow-Credentials: true를 반환합니다 — 모든 출처가 자격 증명이 포함된 응답을 읽을 수 있습니다.
  • 수정됨: 출처는 여전히 반영되므로(인증되지 않은 요청에 대해 CORS가 계속 작동함) 운영자가 지정하지 않은 출처에 대해서는 Access-Control-Allow-Credentials가 더 이상 전송되지 않습니다.
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected: ACAO reflected + ACAC: true; >>> PROVEN
docker compose down
# Patched control
mvn clean package -Dcamel.version=4.22.1
java -jar target/cve-2026-85313-jetty-cors-credentials-0.0.1-SNAPSHOT.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: ACAO reflected, ACAC absent; >>> Not exploited

취약점 요약

속성값
구성 요소camel-jetty (JettyHttpComponent, enableCORS)
CWECWE-942 (신뢰할 수 없는 도메인을 허용하는 관대한 교차 도메인 정책)
심각도MEDIUM
공격 벡터임의의 오리진에 있는 페이지가 enableCORS=true만으로 구성된 엔드포인트로 자격 증명이 포함된 교차 오리진 요청을 보냄
영향엔드포인트가 공격자의 오리진을 반영하고 자격 증명을 허용하므로, 공격자 페이지가 인증된 응답을 읽을 수 있음
영향받는 버전4.0.0부터 4.18.5 이전, 4.19.0부터 4.22.1 이전
수정된 버전4.18.5, 4.22.1, 4.23.0
JIRACAMEL-24450
크레딧Claude Security Scan Tool

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

수정 내용

JettyHttpComponent는 이제 enableCORS가 설정되면 자체 CORS 기본값을 적용합니다. allowCredentials는 운영자가 명시적으로 구성하지 않는 한 기본값이 false입니다. 오리진 반영은 그대로 유지되므로, CORS를 활성화해도 자격 증명이 없는 요청에 대해서는 계속 동작합니다. 자격 증명이 포함된 교차 오리진 요청이 필요한 운영자는 filterInit.allowCredentials=true를 설정하고 filterInit.allowedOrigins에 오리진을 명시해야 하며, 명시하지 않으면 경고를 받습니다.

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

enableCORS가 설치하는 것에 의존하지 말고 CrossOriginFilter 매개변수를 명시적으로 구성하십시오. filterInit.allowedOrigins에 허용할 오리진을 명시하고, 오리진을 명시하지 않았다면 filterInit.allowCredentials를 끄십시오.

면책 조항

이 저장소는 교육 및 방어 목적으로 게시됩니다. Apache Camel 사용자가 취약점을 이해하고, 영향을 받는지 확인하고, 업그레이드로 문제가 해결되는지 검증할 수 있도록 돕기 위해서입니다. "공격자" 오리진은 무해한 자리 표시자 (https://evil.example)이며, 엔드포인트와 프로브 모두 재현 환경 내부에서 실행됩니다. 소유하거나 운영하지 않는 시스템에 이 자료를 사용하지 마십시오.

도구 다운로드