🇰🇷 한글 설명
Steeltoe.Configuration.Abstractions 4.0.0에서 4.1.0 버전 사이에서 MySQL 또는 PostgreSQL 서비스 바인딩에 TLS 클라이언트 자격 증명이 포함된 경우, 해당 정보가 임시 디렉토리에 세계 읽기 가능(0644) 모드로 저장됩니다. 이 파일들은 삭제되지 않고 남아 있어 시스템 내 다른 사용자가 민감한 자격 증명을 탈취할 수 있는 보안 취약점이 존재합니다.
💡 쉬운 설명
클라우드 앱을 만드는 도구인 Steeltoe가 데이터베이스 접속 비밀번호를 임시 파일로 저장할 때, 누구나 읽을 수 있는 상태로 방치하는 문제입니다. 이로 인해 같은 컴퓨터를 쓰는 다른 사람이 내 비밀번호를 훔쳐볼 수 있습니다.
🇺🇸 원문 (English)
Steeltoe is an open source project that provides a collection of libraries that helps users build cloud-native applications. In Steeltoe.Configuration.Abstractions 4.0.0 through 4.1.0, when MySQL or PostgreSQL service bindings from `VCAP_SERVICES` include TLS client credentials, the Connectors library writes those credentials to temporary files in `Path.GetTempPath()` using `File.CreateText`. On Linux, `File.CreateText` creates files with mode `0644` (world-readable) under the process umask, and the files are never deleted. The same key material is protected at mode `0400` in `/proc/<pid>/environ`. Steeltoe.Configuration.Abstractions version 4.2.0 patches the issue. If an immediate upgrade is not possible, prevent other processes from running in the container under a different UID with access to `/tmp`.
📍 영향받는 시스템
Steeltoe.Configuration.Abstractions 4.0.0 ~ 4.1.0
⚔️ 공격 벡터
동일한 시스템/컨테이너 내에서 다른 UID를 가진 프로세스가 임시 디렉토리(/tmp)에 생성된 세계 읽기 가능 파일을 읽음
🛡️ 대응 방법
Steeltoe.Configuration.Abstractions 버전을 4.2.0 이상으로 업그레이드하거나, 컨테이너 내에서 다른 UID를 가진 프로세스의 실행을 차단하십시오.
🔧 검증 코드
출력된 버전이 4.0.0에서 4.1.0 사이라면 취약한 버전이 설치된 것입니다.
dotnet list package | grep Steeltoe.Configuration.Abstractions