Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,12 @@ public class SecurityConfig {
"/api/v1/signup",
"/api/v1/customer/test",
"/v1/auth/refresh",
"/actuator/health",
"/actuator/health/**",
"/actuator/info",
"/actuator/metrics",
"/actuator/metrics/**",
"/actuator/prometheus",
Comment on lines +36 to +41
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

security-critical critical

[Critical] 심각한 보안 위험: 민감 정보 유출 및 관리자 API 공개

WHITE_LIST에 Actuator 엔드포인트를 추가하는 것과 관련하여 두 가지 중요한 보안 문제를 발견했습니다.

  1. 민감한 Actuator 엔드포인트 공개 (Severity: High)
    info, metrics, prometheus 엔드포인트는 애플리케이션 내부 동작과 관련된 상세 정보를 포함합니다. (예: 사용된 라이브러리, JVM 메모리 상태, DB 커넥션 풀 상태 등). 이 정보가 인증 없이 외부에 공개되면, 공격자가 시스템의 취약점을 파악하고 공격을 계획하는 데 악용될 수 있는 정보 유출(Information Disclosure) 취약점이 됩니다.
    헬스 체크를 위한 /actuator/health를 제외한 나머지 민감한 엔드포인트는 WHITE_LIST에서 제거해야 합니다.

  2. 관리자 API 인증 우회 (Severity: Critical)
    더 심각한 문제로, 현재 WHITE_LIST/api/v1/admin/**이 포함되어 있습니다. Spring Security 설정에서 permitAll() 규칙이 hasRole('ADMIN')보다 먼저 적용되므로, 모든 관리자 API가 인증을 우회하여 외부에 완전히 노출된 상태입니다. 이는 즉시 수정해야 하는 치명적인 보안 허점입니다. 이 PR에서 함께 수정하는 것을 강력히 권고합니다.

[해결 제안]
아래와 같이 헬스체크 목적의 health 엔드포인트만 WHITE_LIST에 남기고, 정보 유출 위험이 있는 다른 Actuator 엔드포인트는 제거하는 것을 제안합니다. 또한, 언급된 관리자 API 노출 문제도 반드시 해결해야 합니다.

Suggested change
"/actuator/health",
"/actuator/health/**",
"/actuator/info",
"/actuator/metrics",
"/actuator/metrics/**",
"/actuator/prometheus",
"/actuator/health",
"/actuator/health/**",

"/test/callback",
"/test/onboarding"
};
Expand Down
Loading