Workload identity attestation generated before login host validation in Snowflake drivers
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 4.7.3, 2.2.0, 4.3.4, 3.3.0, 6.1.0, and 3 more
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: none
- Automatable: no
- Technical impact: total
Summary
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.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: total
- Record last updated
Affected versions
- snowflake-connector-python
From 3.14.1 · fixed in 4.7.3
- github.com/snowflakedb/gosnowflake
From 1.15.0 · through 1.19.1
- github.com/snowflakedb/gosnowflake/v2
From 2.0.0 · fixed in 2.2.0
- net.snowflake:snowflake-jdbc
From 3.24.0 · fixed in 4.3.4
- net.snowflake:snowflake-jdbc-fips
From 3.24.0 · fixed in 4.3.4
- net.snowflake:snowflake-jdbc-thin
From 3.24.0 · fixed in 4.3.4
- snowflake-sdk
From 2.1.1 · fixed in 3.3.0
- Snowflake.Data
From 4.7.0 · fixed in 6.1.0
- Snowflake Snowflake ODBC Driver
From 3.9.0 · fixed in 3.20.0
- Snowflake Snowflake PHP PDO Driver
From 3.6.0 · fixed in 4.2.0
- Snowflake Snowflake Libsnowflakeclient
From 2.2.0 · fixed in 2.10.0
References 8
GitHub · snowflakedb/snowflake-connector-python
docs.snowflake.com
- en/release-notes/clients-drivers/golang-2026#version-220-sep-03-2026
- en/release-notes/clients-drivers/jdbc-2026#version-434-sep-03-2026
- en/release-notes/clients-drivers/nodejs-2026#version-330-september-3-2026
- en/release-notes/clients-drivers/dotnet-2026#version-610-september-3-2026
- en/release-notes/clients-drivers/odbc-2026#version-3200-sep-3-2026
- en/release-notes/clients-drivers/php-pdo-2026#version-420-sep-3-2026