CVE-2025-24791: Snowflake snowflake-sdk permission validation bypass in credential cache

CVE-2025-24791 · Severity: low · CVSS 3.1 · Published 2025-01-29

The Snowflake NodeJS Driver is a library used by applications to connect to Snowflake data warehouses. When using certain authentication methods with temporary credential caching enabled on Linux, the driver fails to properly validate file permissions on cached credentials, allowing a local attacker with write access to the cache directory to inject malicious files. This could lead to unauthorized access to cached authentication tokens and potential compromise of Snowflake database access.

Technologies: snowflake-sdk (npm). Vendors: npm.

Quick answers

Is CVE-2025-24791 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2025-24791 being exploited in the wild.
How severe is CVE-2025-24791?
Low severity, with a CVSS score of 3.1, published 29 January 2025.
Which products and versions are affected?
snowflake-sdk (npm) SEMVER:introduced=1.12.0,fixed=2.0.2.
Is there a fix for CVE-2025-24791?
Yes. snowflake-sdk (npm): upgrade to 2.0.2 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2025-24791 attacked?
It is attacked with local access, in a software library.
Am I affected by CVE-2025-24791?
Check whether you run snowflake-sdk (npm) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • snowflake-sdk (npm): upgrade to 2.0.2 or later
    npm install snowflake-sdk@2.0.2

Technical details

This vulnerability is a permission validation bypass (CWE-281) affecting the temporary credential cache functionality in the Snowflake NodeJS Driver versions 1.12.0 through 2.0.1 on Linux. When EXTERNALBROWSER or USERNAME_PASSWORD_MFA authentication is used with credential caching enabled, the driver caches temporary credentials in a local file. The vulnerable code's permission check always succeeds without properly verifying file permissions or ownership, allowing an attacker with write access to the cache directory to plant an empty file. The driver then uses this attacker-controlled file to store sensitive temporary credentials. Exploitation requires local file system access and is only possible on Linux systems. Snowflake released version 2.0.2 to fix this issue.

Affected products

  • Snowflake snowflake-sdk 1.12.0 through 2.0.1

Identifiers

  • CVE-2025-24791
  • GHSA-xfhv-wqj6-rx99

Timeline

  • 2025-01-29: disclosed
  • 2025-01-29: patched: Version 2.0.2 released

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.