Severity by source
Sources disagree (Medium–Critical)AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H
Network parser with no auth gate (PR:N) but requires victim to run crafted SQL (UI:R); SSRF plus session-context SQL execution crosses scope (S:C) with high C/I, while availability impact is limited (A:L).
vuln.today treats the vendor’s rating as authoritative. A higher third-party CVSS (e.g. CISA-ADP) is shown for transparency but does not drive the headline severity.
CVSS VectorNVD
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H
Lifecycle Timeline
7DescriptionNVD
Improper handling of untrusted remote references in Snowflake CLI versions prior to 3.19 allowed server-side request forgery. The SQL statement reader's !source/!load directives could reference remote URLs that were retrieved at runtime without sufficient restriction on the request destination. By supplying crafted SQL content processed through a vulnerable command path, an attacker could cause the victim's environment to issue unintended outbound requests to internal or otherwise non-public network locations, and could cause remote SQL content to be retrieved and executed in the context of the victim user's session. Successful exploitation requires the victim to process attacker-controlled content through a vulnerable command path and is limited by the privileges available to that session and environment. The fix is available in Snowflake CLI version 3.19, which adds an option to disable remote URL retrieval.
AnalysisAI
Server-side request forgery in Snowflake CLI versions 3.6.0 through 3.18.x lets an attacker coerce a victim's CLI session into fetching attacker-chosen remote URLs and then retrieving and executing remote SQL in that session's context. The flaw lives in the SQL statement reader's !source/!load directives, which resolve remote references at runtime without restricting the request destination, so a victim who processes attacker-supplied SQL can be made to reach internal/non-public network locations. Despite a 9.6 CVSS, real-world urgency is tempered by required user interaction and a low EPSS (0.09%); there is no public exploit identified at time of analysis and it is not in CISA KEV.
Technical ContextAI
Snowflake CLI is the official command-line client for Snowflake's data platform, used by developers and data engineers to run SQL scripts and manage objects. The vulnerable component is the SQL statement reader that interprets the !source and !load meta-directives (used to include external SQL files); in affected builds these directives accept remote URLs and dereference them at execution time. This maps to CWE-829 (Inclusion of Functionality from an Untrusted Control Sphere): the reader pulls executable SQL content from a control sphere the user does not trust and runs it inline. Because the fetch destination is unrestricted, the same primitive doubles as SSRF - the CLI host becomes an outbound request proxy reaching internal endpoints, and the retrieved SQL is then executed with the victim session's Snowflake privileges. The single affected product per CPE is cpe:2.3:a:snowflake:snowflake_cli (tagged SSRF, Snowflake CLI).
RemediationAI
Upgrade to the fixed release - Vendor-released patch: Snowflake CLI version 3.19.0, which introduces an option to disable remote URL retrieval; this is the primary and recommended fix. After upgrading, explicitly enable/confirm the new setting that disables remote !source/!load URL retrieval so the SSRF primitive is closed even if a script attempts it. As a compensating control where immediate upgrade is not possible, do not run SQL scripts from untrusted or externally-sourced files through the CLI, and treat !source/!load directives in shared SQL as dangerous input; on the network side, restrict outbound egress from CLI hosts so they cannot reach internal/metadata or sensitive non-public endpoints (trade-off: may break legitimate internal includes), and run the CLI under a least-privilege Snowflake role to cap what retrieved SQL can do (trade-off: may require role adjustments in automation). See the vendor advisory at https://community.snowflake.com/s/article/Snowflake-CLI-Vulnerability-Advisory for authoritative guidance.
More in Snowflake Cli
View allArbitrary code execution in Snowflake CLI versions prior to 3.19 lets an attacker run code in the context of any develop
SQL injection in Snowflake CLI versions 1.2.2 through 3.18.x allows an attacker to execute unintended SQL statements wit
SQL injection in Snowflake CLI versions 1.1.0 through 3.18.x (fixed in 3.19) lets crafted parameter values reach vulnera
Path traversal in Snowflake CLI versions prior to 3.19 enables arbitrary local file exfiltration to Snowflake cloud serv
Snowflake CLI versions prior to 3.19 write plaintext credentials - including passwords, authentication tokens, and priva
Snowflake CLI versions prior to 3.19 permit self-injection SQL execution through improper neutralization of local CLI pa
Share
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-40147
GHSA-6xpv-fwh6-29jc