🇰🇷 한글 설명
Apache Arrow Rust Object Store(`object_store` 크레이트) 0.10.1 및 이전 버전에서 AWS WebIdentityTokens 사용 시 오류 발생 시 로그에 임시 자격 증명이 노출되는 취약점입니다. 특정 오류 상황에서 로그에 OIDC 토큰이 포함될 수 있으며, 로그에 접근할 수 있는 공격자가 해당 토큰이 만료되기 전까지 해당 신원을 사칭할 수 있습니다.
💡 쉬운 설명
프로그램이 오류를 일으켰을 때, 보안에 중요한 비밀번호 역할을 하는 토큰이 기록(로그)에 그대로 남는 문제입니다. 이 기록을 몰래 본 사람이 당신의 권한을 빌려 AWS 서비스를 마음대로 사용할 수 있습니다.
🇺🇸 원문 (English)
Exposure of temporary credentials in logs in Apache Arrow Rust Object Store (`object_store` crate), version 0.10.1 and earlier on all platforms using AWS WebIdentityTokens.
On certain error conditions, the logs may contain the OIDC token passed to AssumeRoleWithWebIdentity https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html . This allows someone with access to the logs to impersonate that identity, including performing their own calls to AssumeRoleWithWebIdentity, until the OIDC token expires. Typically OIDC tokens are valid for up to an hour, although this will vary depending on the issuer.
Users are recommended to use a different AWS authentication mechanism, disable logging or upgrade to version 0.10.2, which fixes this issue.
Details:
When using AWS WebIdentityTokens with the object_store crate, in the event of a failure and automatic retry, the underlying reqwest error, including the full URL with the credentials, potentially in the parameters, is written to the logs.
Thanks to Paul Hatcherian for reporting this vulnerability
📍 영향받는 시스템
Apache Arrow Rust Object Store (object_store crate) version 0.10.1 and earlier
⚔️ 공격 벡터
로그 파일에 노출된 OIDC 토큰을 탈취하여 AWS AssumeRoleWithWebIdentity API를 통해 신원 사칭
🛡️ 대응 방법
object_store 크레이트를 버전 0.10.2 이상으로 업그레이드하거나, 로그 기록을 비활성화하거나, 다른 AWS 인증 방식을 사용하십시오.
🔧 검증 코드
명령어 결과에 object-store 버전이 0.10.1 이하로 나타나면 취약한 버전이 설치된 것입니다.
cargo pkgid object-store | grep -E 'object-store@0\.[0-1]\.[0-1]'