🇰🇷 한글 설명
Steeltoe의 Environment actuator 내 Sanitizer 컴포넌트가 특정 패턴의 설정값을 제대로 마스킹하지 못하는 취약점입니다. .NET의 ConnectionStrings나 Steeltoe Connector의 연결 문자열 패턴이 기본 필터링 목록에서 누락되어, /actuator/env 응답을 통해 비밀번호가 포함된 전체 연결 문자열이 노출될 수 있습니다.
💡 쉬운 설명
클라우드 애플리케이션의 설정 정보를 보여주는 기능에서 데이터베이스 비밀번호 같은 민감한 정보가 가려지지 않고 그대로 노출되는 문제입니다. 공격자가 이 정보를 통해 시스템의 데이터베이스 등에 무단으로 접속할 위험이 있습니다.
🇺🇸 원문 (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, the `Sanitizer` component in the Environment actuator redacts configuration values by matching the configuration key name against a suffix list. The default list (`password`, `secret`, `key`, `token`, `.*credentials.*`, `vcap_services`) does not cover the standard .NET pattern `ConnectionStrings:<name>` or Steeltoe Connectors' `Steeltoe:Client:<type>:Default:ConnectionString`. There is no value-based scrubbing, so full connection string values including embedded `Password=` and `user:pass@host` segments are returned verbatim in `/actuator/env` responses. Steeltoe.Management.Endpoint 4.2.0 and Steeltoe.Management.EndpointCore 3.4.0 patch the issue. If an immediate upgrade is not possible: On the standard path, remove `env` from the actuator exposure list; add `.*connectionstring.*` to `KeysToSanitize` as a defense-in-depth measure for both paths; and/or require authorization on actuator endpoints.
📍 영향받는 시스템
Steeltoe.Management.Endpoint < 4.2.0 및 Steeltoe.Management.EndpointCore < 3.4.0
⚔️ 공격 벡터
인증되지 않은 공격자가 /actuator/env 엔드포인트에 접근하여 노출된 연결 문자열(Connection String) 탈취
🛡️ 대응 방법
Steeltoe.Management.Endpoint 4.2.0 또는 Steeltoe.Management.EndpointCore 3.4.0 이상으로 업데이트하거나, actuator 노출 목록에서 env를 제거하고 KeysToSanitize에 '.*connectionstring.*' 패턴을 추가하십시오.
🔧 검증 코드
출력된 라이브러리 버전이 취약한 버전(Endpoint 4.2.0 미만 또는 EndpointCore 3.4.0 미만)인지 확인하십시오.
dotnet list package | grep -E 'Steeltoe.Management.Endpoint|Steeltoe.Management.EndpointCore'