Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

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

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

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
cve-2025-22235-demo — CVE-2025-22235 Spring Boot 인증 우회를 `EndpointRequest.to()` 설정 오류를 통해 시연합니다. 환경 설정, 재현 단계, 코드 분석, 보안 연구 및 교육을 위한 수정 지침을 포함합니다. | Kitploit
도구/GitHubGitHub/idealzh/cve-2025-22235-demo
Vulnerability AnalysisExploitationWeb Application ExploitationAuthenticationMisconfigurationLearning & Education
GitHubidealzh/cve-2025-22235-demo

cve-2025-22235-demo

CVE-2025-22235 Spring Boot 인증 우회를 `EndpointRequest.to()` 설정 오류를 통해 시연합니다. 환경 설정, 재현 단계, 코드 분석, 보안 연구 및 교육을 위한 수정 지침을 포함합니다.

저장소 보기
1년 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2025-22235: Spring Boot EndpointRequest.to() 인증 우회 취약점 데모

취약점 설명

CVE-2025-22235는 Spring Boot 보안 취약점으로, EndpointRequest.to() 메서드가 보안 규칙을 구성할 때 잘못된 매처를 생성하여 노출되지 않은 액추에이터 엔드포인트 경로(예: /null/**)의 보안 보호가 무효화될 수 있습니다.

영향받는 버전

  • Spring Security 5.7.16
  • Spring Security 5.8.18
  • Spring Security 6.0.16
  • Spring Security 6.1.14
  • Spring Security 6.2.10
  • Spring Security 6.3.8
  • Spring Security 6.4.4
  • 더 오래되고 지원되지 않는 버전도 영향을 받습니다.

취약점 원리

EndpointRequest.to("health")를 사용하여 보안 규칙을 구성할 때, health 엔드포인트가 management.endpoints.web.exposure.include에 구성되지 않은 경우 Spring Boot는 잘못된 경로 매처 /null/**를 생성하여 해당 경로 아래의 모든 요청이 인증 검사를 우회하게 됩니다.

환경 구성

1. 프로젝트 의존성

  • Spring Boot 3.4.3 (취약한 버전)
  • Spring Security
  • Spring Boot Actuator

2. 주요 설정

  • management.endpoints.web.exposure.include=info (info 엔드포인트만 노출, health 엔드포인트는 노출되지 않음)
  • 보안 구성에서 EndpointRequest.to("health")를 사용하여 노출되지 않은 엔드포인트를 참조합니다.

취약점 재현 단계

1. 애플리케이션 시작

root@kitploit:~
mvn spring-boot:run

2. 보호된 엔드포인트에 접근

http://localhost:8080/null에 직접 접근하면 로그인 없이 접근 가능하며, 인증 우회 취약점이 존재함을 증명합니다.

3. 정상 인증 흐름

http://localhost:8080/info와 같은 다른 보호된 엔드포인트에 접근하면 로그인이 요구됩니다.

취약점 코드 분석

보안 구성 클래스 (SecurityConfig.java)

root@kitploit:~
.requestMatchers(EndpointRequest.to("health")).permitAll()  // 취약점 트리거 지점
.requestMatchers("/null").authenticated()                   // 보호되어야 하지만 우회됨

컨트롤러 (DemoController.java)

root@kitploit:~
@GetMapping("/null")
public String sensitiveEndpoint() {
    return "로그인하지 않고 이 페이지를 보았다면 CVE-2025-22235 인증 우회 취약점이 존재함을 의미합니다!";
}

취약점 수정

1. Spring Boot 버전 업그레이드

다음 수정 버전으로 업그레이드:

  • 3.4.5+
  • 3.3.11+
  • 기타 지원되는 최신 버전

2. 임시 완화 조치

  • EndpointRequest.to()가 참조하는 엔드포인트가 활성화되어 웹을 통해 공개되었는지 확인
  • /null 경로로의 요청 처리 방지
  • 보안 구성에서 참조된 엔드포인트가 모두 올바르게 노출되었는지 확인

기술 세부 사항

취약점의 근본 원인은 EndpointRequest.to() 메서드가 노출되지 않은 엔드포인트를 처리할 때 잘못된 경로 매처를 생성하기 때문입니다. 엔드포인트 이름이 management.endpoints.web.exposure.include에 구성되지 않은 경우 Spring Boot는 null이 포함된 경로 패턴을 생성하여 보안 규칙이 무효화됩니다.

참고 자료

  • CVE-2025-22235 공식 공지
  • Spring Boot 공식 보안 공지
  • Spring Security 공식 문서

면책 조항

본 데모 프로젝트는 보안 연구 및 교육 목적으로만 사용되며, 프로덕션 환경에서 사용하지 마십시오. 이 프로젝트 사용에 따른 위험은 사용자가 감수합니다.

도구 다운로드