Snowflake is a powerful cloud-based data warehousing platform used by numerous businesses across various industries. Snowflake JDBC is an essential component that provides a JDBC type 4 driver, allowing Java programs to connect to Snowflake databases. Recently, a vulnerability was discovered and remediated in the Snowflake JDBC Driver. This post will outline the details of the vulnerability (CVE-2025-24790), its implications, and the steps taken to fix it.

Vulnerability description

In the Snowflake JDBC Driver, there exists a vulnerability that pertains to Linux systems that have temporary credential caching enabled. Affected versions range from 3.6.8 through 3.21.. In these instances, the Snowflake JDBC Driver caches temporary credentials stored locally in a world-readable file. This poses a security risk as unauthorized users with access to the system could potentially read the cached credentials.

Original reference:
Snowflake's official documentation contains a detailed description of the vulnerability (CVE-2025-24790): Snowflake Vulnerability Documentation

Exploit details

The vulnerability is specific to Linux systems and only affects those with temporary credential caching enabled. In this situation, the JDBC Driver stores credentials in /tmp folder in world-readable files. An attacker who gains access to the system could read these files and, in turn, use the credentials to access sensitive data.

Code snippet

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class SnowflakeJDBCTest {
    public static void main(String[] args) {
        String url = "jdbc:snowflake://sample_account.snowflakecomputing.com";
        String user = "sample_user";
        String password = "sample_password";

        try {
            Connection connection = DriverManager.getConnection(url, user, password);
            System.out.println("Successfully connected to Snowflake.");
            connection.close();
        } catch (SQLException e) {
            System.err.println("Error connecting to Snowflake: " + e.getMessage());
            e.printStackTrace();
        }
    }
}

Resolution

Snowflake has fixed this vulnerability in version 3.22.. To mitigate the risk, all users of Snowflake JDBC Driver are advised to upgrade to this version or higher.

Upgrade instructions reference: Snowflake JDBC Driver Upgrade Instructions

Conclusion

It is crucial for organizations to be vigilant about their cybersecurity posture and promptly upgrade to the latest software versions to address potential vulnerabilities. The discovery and remediation of CVE-2025-24790 in Snowflake's JDBC Driver is an example of the importance of staying up-to-date with software releases. By updating to version 3.22. or higher, users can ensure that their Snowflake database remains secure and continues to perform optimally.

Timeline

Published on: 01/29/2025 18:15:47 UTC