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

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-78165 — CVE-2026-78165에 대한 실행 가능한 개념 증명(PoC) 재현 도구로, Apache Camel camel-spring-redis에서 Redis PUBLISH 페이로드의 JDK 역직렬화가 필터링되지 않는 문제를 시연합니다. | Kitploit
도구/GitHubGitHub/oscerd/cve-2026-78165
Defensive ToolsVulnerability AnalysisExploitationLearning & Education
GitHuboscerd/cve-2026-78165

CVE-2026-78165

CVE-2026-78165에 대한 실행 가능한 개념 증명(PoC) 재현 도구로, Apache Camel camel-spring-redis에서 Redis PUBLISH 페이로드의 JDK 역직렬화가 필터링되지 않는 문제를 시연합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-78165 — camel-spring-redis: Redis 페이로드의 필터링되지 않은 JDK 역직렬화

Apache Camel 취약점에 대한 실행 가능한 개념 증명(PoC) 재현기입니다. 이 취약점은 camel-spring-redis에서 serializer 옵션이 구성되지 않은 경우 java.io.ObjectInputFilter가 없는 순수한 JdkSerializationRedisSerializer를 생성하여 모든 읽기에 사용하던 문제입니다. RedisConsumer.setBody는 Exchange가 구성되기 전에 구독된 채널에 게시된 모든 메시지의 원시 바이트에 이를 적용했습니다. 따라서 구독된 채널에서 PUBLISH를 실행할 수 있는 공격자는 역직렬화 싱크에 직접 도달하여 임의의 직렬화된 객체 그래프의 readObject를 실행할 수 있었습니다(원격 코드 실행, CWE-502). 동일한 기본 직렬화기가 프로듀서 읽기 명령(GET/HGET/HGETALL/HVALS)과 SpringRedisIdempotentRepository도 지원했습니다.

런타임디렉터리스택
Camel Spring Bootcamel-spring-boot/Spring Boot 3.5.13 + camel-spring-redis 4.22.0 (영향받음; 4.22.1에서 수정됨)
Camel Quarkuscamel-quarkus/Quarkus 3.29.0 + camel-quarkus-spring-redis 3.29.0 (Camel 4.15.0, 영향받음)

이 결함은 2.11.0에서 컴포넌트가 도입된 때로 거슬러 올라가므로, 모든 영향받는 릴리스와 최신 Camel Quarkus의 Camel 4.15.0이 취약합니다. 수정 사항은 Camel 4.18.5 / 4.22.1 / 4.23.0에 포함됩니다. Spring Boot 모듈은 영향받는 빌드(4.22.0)와 수정된 빌드(4.22.1)를 모두 실행합니다. 수정된 Camel을 번들로 제공하는 Camel Quarkus 릴리스는 아직 없습니다.

입증 내용

이 앱은 serializer 옵션 없이 cve-channel을 SUBSCRIBE하는 Camel 라우트를 실행합니다(따라서 기본 JdkSerializationRedisSerializer가 사용됨). 공격자는 해당 채널에 PUBLISH만 할 수 있는 일반 Redis 클라이언트이며, Camel 프로세스에 접근할 수 없습니다. 공격자는 의도적으로 무해한 com.example.PwnMarker의 원시 직렬화 바이트를 게시하는데, 이 객체의 readObject는 JVM 전역 플래그만 뒤집을 뿐입니다(가젯 없음, 명령 없음). 영향받는 빌드에서는 컨슈머가 이를 역직렬화하고 readObject가 실행됩니다. 수정된 빌드에서는 기본 허용 목록(표준 java./javax. 및 org.apache.camel. 타입)이 com.example.PwnMarker를 InvalidClassException: filter status: REJECTED와 함께 거부합니다.

cd camel-spring-boot
mvn clean package
docker compose up -d --build     # starts Redis + the reproducer
curl -s http://localhost:8080/exploit/attack
docker compose down

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

Attacker connects to Redis redis:6379 and PUBLISHes a serialized com.example.PwnMarker to channel 'cve-channel'.
PUBLISH delivered to 1 subscriber(s).

Result:
>>> PROVEN: the Redis consumer deserialized the attacker-published, non-allow-listed class
>>> (com.example.PwnMarker) with no ObjectInputFilter — its readObject executed.

취약점 요약

속성값
구성 요소camel-spring-redis (camel-spring-redis-starter / camel-quarkus-spring-redis)
CWECWE-502 (신뢰할 수 없는 데이터의 역직렬화)
심각도HIGH
공격 벡터Camel spring-redis 컨슈머가 구독하는 채널로의 PUBLISH (또는 프로듀서가 읽는 Redis 키 제어); 기본 직렬화기가 필터 없이 페이로드를 역직렬화함
영향라우트 로직이 실행되기 전에 가젯 클래스를 통해 Camel 프로세스 내부에서 원격 코드 실행
영향받는 버전2.11.0부터 4.18.5 이전, 4.19.0부터 4.22.1 이전
수정된 버전4.18.5, 4.22.1, 4.23.0
JIRACAMEL-24421
크레딧Leon Zlobecki

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

수정 내용

새로운 deserializationFilter 엔드포인트 옵션은 기본 직렬화기가 페이로드를 읽는 동안 적용되는 필터를 제어합니다. 설정하지 않으면 JVM 전역 jdk.serialFilter가 존재할 경우 이를 따르고, 그렇지 않으면 보수적인 허용 목록(표준 Java 및 Apache Camel 타입; java.net 거부)이 적용되며, 4.23.0/4.22.1에서는 JEP-290 그래프 형태 제한이 추가로 적용됩니다. 직렬화기는 그래프를 읽기 전에 스트림에 필터를 설정하는 역직렬화 컨버터와 함께 Converter 기반 생성자를 통해 구성됩니다. serializer를 사용자 정의 RedisSerializer로 설정하면 Camel이 더 이상 페이로드 읽기 방식을 제어하지 않으므로 여전히 필터를 우회합니다.

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

JVM 전역 -Djdk.serialFilter=...를 설정하거나(영향받는 경로가 이를 따름), serializer 엔드포인트 옵션을 StringRedisSerializer와 같은 비-Java 직렬화기로 설정하십시오(사용자 정의 redisTemplate에만 설정하는 것이 아니라 serializer 옵션으로). Redis에 인증을 요구하고 구독된 채널에 게시할 수 있는 주체를 제한하십시오.

면책 조항

이 저장소는 교육 및 방어 목적으로 게시됩니다: Apache Camel 사용자가 취약점을 이해하고, 영향을 받는지 확인하며, 업그레이드가 문제를 해결하는지 검증할 수 있도록 돕기 위함입니다. 페이로드는 코드를 실행하지 않는 무해한 마커입니다. 소유하거나 운영하지 않는 시스템에 이 자료를 사용하지 마십시오.

도구 다운로드