🇰🇷 한글 설명
Snowflake 드라이버의 WORKLOAD_IDENTITY 인증 과정에서 설정된 호스트가 Snowflake 엔드포인트인지 검증하지 않는 취약점이 발견되었습니다. 공격자가 연결 설정을 수정할 수 있다면 클라우드 워크로드 ID 토큰을 탈취하여 Snowflake에 재사용하거나, Azure의 경우 관리 ID 액세스 토큰을 탈취하여 다른 리소스에 악용할 수 있습니다.
💡 쉬운 설명
프로그램이 인증 정보를 보낼 때 목적지가 진짜 Snowflake인지 확인하지 않아, 해커가 만든 가짜 사이트로 인증 정보를 보내게 만들 수 있는 문제입니다. 이를 통해 해커는 사용자의 클라우드 권한을 훔쳐서 다른 서비스까지 공격할 수 있습니다.
🇺🇸 원문 (English)
In affected Snowflake drivers, WORKLOAD_IDENTITY authentication requests a cloud workload-identity token and attaches it to the login request without verifying that the configured host is a Snowflake endpoint. An attacker who can modify the connection configuration can cause the driver to mint a fresh attestation and send it to a host they control. The captured token can be replayed to Snowflake for its remaining lifetime in accounts where that workload identity is already registered. On Azure, the token audience is also taken from connection configuration. Combined with an attacker-controlled host, the driver can request a Managed Identity access token scoped to a non-Snowflake Azure resource and deliver it to the attacker. That path is the only case in which impact extends beyond Snowflake; it is bounded by the token lifetime and the managed identity’s permissions. Successful exploitation requires WORKLOAD_IDENTITY authentication on a workload that already has an ambient cloud identity. Patched driver versions restrict this authenticator to recognized Snowflake hosts. Users must manually upgrade.
📍 영향받는 시스템
WORKLOAD_IDENTITY 인증을 사용하는 취약한 버전의 Snowflake 드라이버
⚔️ 공격 벡터
연결 설정(Connection Configuration)을 조작하여 인증 토큰을 공격자가 제어하는 호스트로 전송 유도
🛡️ 대응 방법
Snowflake 드라이버를 최신 패치 버전으로 수동 업그레이드
🔧 검증 코드
설치된 Snowflake 드라이버의 버전을 확인하여 보안 패치가 적용된 최신 버전인지 대조하십시오.
snowsql --version 2>/dev/null || echo 'Check driver version manually'