🇰🇷 한글 설명
Steeltoe 라이브러리의 특정 버전에서 액추에이터 엔드포인트의 권한 설정 오류로 인해 민감한 데이터가 노출될 수 있는 취약점이 발견되었습니다. Heap dump, 환경 변수, Thread dump와 같은 민감한 엔드포인트가 적절한 권한 검증 없이 낮은 수준의 권한으로 접근 가능합니다. Steeltoe.Management.Endpoint 4.2.0 및 Steeltoe.Management.EndpointCore 3.4.0 버전에서 이 문제가 해결되었습니다.
💡 쉬운 설명
클라우드 애플리케이션의 중요한 정보를 보여주는 메뉴들이 보안 설정 오류로 인해 권한이 낮은 사용자에게도 노출될 수 있는 문제입니다. 이를 통해 공격자가 시스템의 민감한 정보를 훔쳐볼 위험이 있습니다.
🇺🇸 원문 (English)
Steeltoe is an open source project that provides a collection of libraries that helps users build cloud-native applications. In Steeltoe.Management.Endpoint prior to version 4.2.0 and Steeltoe.Management.EndpointCore prior to version 3.4.0, all Steeltoe actuator endpoints default to `EndpointPermissions.Restricted`, which is mappeds to Cloud Foundry's `read_basic_data` permission (granted to Space Auditors and similar low-trust roles). Sensitive actuators including heap dump, environment, and thread dump do not raise this to `EndpointPermissions.Full`, so CF's `read_sensitive_data` permission flag is not enforced for those endpoints. Spring Boot's equivalent Cloud Foundry integration gates these endpoints with `read_sensitive_data` by default. Steeltoe.Management.Endpoint 4.2.0 and Steeltoe.Management.EndpointCore 3.4.0 patch the issue. If an immediate upgrade is not possible, explicitly set `RequiredPermissions = EndpointPermissions.Full` in the options for `HeapDumpEndpointOptions`, `EnvironmentEndpointOptions`, and `ThreadDumpEndpointOptions`; and/or if heap dump, thread dump, or environment are not needed in production, register only the required actuators individually instead of using `AddAllActuators()`.
📍 영향받는 시스템
Steeltoe.Management.Endpoint < 4.2.0, Steeltoe.Management.EndpointCore < 3.4.0
⚔️ 공격 벡터
낮은 권한(read_basic_data)을 가진 사용자가 권한 검증이 누락된 민감한 액추에이터 엔드포인트에 직접 접근하여 데이터 탈취
🛡️ 대응 방법
Steeltoe 라이브러리를 최신 버전으로 업데이트하거나, 민감한 엔드포인트의 권한을 EndpointPermissions.Full로 명시적 설정 또는 필요한 액추에이터만 개별 등록
🔧 검증 코드
출력된 라이브러리 버전이 Steeltoe.Management.Endpoint 4.2.0 미만 또는 Steeltoe.Management.EndpointCore 3.4.0 미만인지 확인
dotnet list package | grep -E 'Steeltoe.Management.Endpoint|Steeltoe.Management.EndpointCore'