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

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-85301 — Spring Boot와 Quarkus에서 영향을 받는 동작과 패치된 동작을 보여주는 Apache Camel camel-keycloak 발급자 검증 우회(CWE-287)에 대한 실행 가능한 개념 증명 재현기입니다. | Kitploit
도구/GitHubGitHub/oscerd/cve-2026-85301
Defensive ToolsVulnerability AnalysisExploitationWeb Application ExploitationAuthenticationLearning & Education
GitHuboscerd/cve-2026-85301

CVE-2026-85301

Spring Boot와 Quarkus에서 영향을 받는 동작과 패치된 동작을 보여주는 Apache Camel camel-keycloak 발급자 검증 우회(CWE-287)에 대한 실행 가능한 개념 증명 재현기입니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-85301 — camel-keycloak: 발급자 검증 우회

camel-keycloak의 KeycloakSecurityProcessor가 인트로스펙션 응답에 실제로 iss 클레임이 포함된 경우에만 인트로스펙션된 토큰의 발급자를 검증했던 Apache Camel 취약점에 대한 실행 가능한 개념 증명(PoC) 재현 프로그램입니다. 클레임이 없을 때 검사는 실패로 처리되지 않고 건너뛰어졌으므로, 인트로스펙션 엔드포인트가 발급자를 명시하지 않은 채 active로 응답하기만 하면 설정된 발급자가 발급하지 않은 토큰도 수락될 수 있었습니다. 배포 환경이 iss를 생략하는 엔드포인트에 대해 인트로스펙션을 수행하면서 둘 이상의 발급자를 서비스하는 경우, 그 결과로 거부했어야 할 호출자를 인증하게 됩니다(CWE-287).

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

두 모듈 모두 실제 KeycloakSecurityProcessor를 대상으로 영향받는 동작 및 수정된 동작을 보여줍니다.

보여주는 내용

드라이버는 validateIssuer=true(예상 발급자 http://localhost:8080/realms/test-realm)로 KeycloakSecurityPolicy를 구성하고, 토큰을 active로 보고하지만 iss 클레임은 반환하지 않는 토큰 인트로스펙터를 설정합니다. 이는 RFC 7662에서 iss를 선택 사항으로 규정하므로 브로커/게이트웨이 인트로스펙션 엔드포인트가 생성하는 것과 정확히 같습니다. 그런 다음 Authorization: Bearer <attacker-token> 헤더로 KeycloakSecurityProcessor를 구동하고 보호된 라우트에 도달하는지 여부를 보고합니다.

  • 영향받음: iss가 없으면 프로세서가 발급자 검사를 건너뛰므로 토큰이 수락되고 라우트에 도달합니다. 즉, 의도하지 않은 발급자의 토큰이 인증됩니다.
  • 수정됨: iss가 없으면 검증 실패입니다. 프로세서가 CamelAuthorizationException ("Token issuer missing…")을 발생시키고 라우트에는 절대 도달하지 않습니다.
# Camel Spring Boot
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected: route reached, token accepted; >>> PROVEN
docker compose down
# Patched control
mvn clean package -Dcamel.version=4.22.1
java -jar target/cve-2026-85301-keycloak-issuer-bypass-0.0.1-SNAPSHOT.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: CamelAuthorizationException "Token issuer missing"; >>> 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.22.0): route reached, token accepted
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: CamelAuthorizationException "Token issuer missing"

취약점 요약

속성값
구성 요소camel-keycloak (KeycloakSecurityProcessor.validateIssuerFromIntrospection)
CWECWE-287 (부적절한 인증)
심각도MEDIUM
공격 벡터validateIssuer=true인 상태에서, iss를 생략하고 둘 이상의 발급자를 처리하는 엔드포인트에 대해 인트로스펙션된 의도하지 않은 발급자의 토큰
영향구성된 발급자가 발급하지 않은 토큰을 가진 호출자를 배포 환경이 인증함
영향받는 버전4.15.0부터 4.18.5 이전, 4.19.0부터 4.22.1 이전
수정된 버전4.18.5, 4.22.1, 4.23.0
JIRACAMEL-24448
크레딧Claude Security Scan Tool

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

Quarkus의 영향받는 모듈은 CQ 3.39.0(Camel 4.22.0)을 기반으로 빌드되며, 여기서 camel-quarkus-keycloak은 영향받는 Camel 버전에 대응합니다. 패치된 컨트롤은 CQ 3.40.0(Camel 4.22.1)입니다.

수정 내용

KeycloakSecurityProcessor는 이제 iss 클레임이 없는 경우를 검증 실패로 처리합니다. 발급자 검증이 활성화되어 있고 인트로스펙션 결과에 발급자가 없으면, 조기 반환하여 요청을 통과시키는 대신 CamelAuthorizationException을 발생시킵니다. 이전 코드는 클레임이 누락될 때마다 비교를 건너뛰었으며, 이로 인해 발급자를 명시하지 않은 바로 그 토큰들에 대해 발급자가 검증되지 않은 채로 남았습니다.

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

인트로스펙션 엔드포인트가 iss 클레임을 반환하고 정확히 하나의 발급자만 처리하도록 하십시오. 그러면 다른 발급자의 토큰은 명시되어 거부되거나, 활성 상태로 인트로스펙션되지 않습니다.

면책 조항

이 저장소는 교육 및 방어 목적으로 게시됩니다. Apache Camel 사용자가 취약점을 이해하고, 영향을 받는지 확인하며, 업그레이드가 문제를 해결하는지 검증할 수 있도록 돕기 위함입니다. 토큰 인트로스펙터는 인프로세스 스텁이며 실제 Keycloak 서버나 네트워크 호출은 관여하지 않습니다. "공격자 토큰"은 불투명한 자리표시자 문자열입니다. 소유하거나 운영하지 않는 시스템에 이 자료를 사용하지 마십시오.

도구 다운로드