CVE-2023-34231: Snowflake Golang Driver vulnerable to Command Injection
Issue Snowflake was informed via our bug bounty program of a command injection vulnerability in the Snowflake Golang driver via SSO browser URL authentication.
Impacted driver package: gosnowflake
Impacted version range: before Version 1.6.19
Attack Scenario In order to exploit the potential for command injection, an attacker would need to be successful in (1) establishing a malicious resource and (2) redirecting users to utilize the resource. The attacker could set up a malicious, publicly accessible server which responds to the SSO URL with an attack payload. If the attacker then tricked a user into visiting the maliciously crafted connection URL, the user’s local machine would render the malicious payload, leading to a remote code execution.
This attack scenario can be mitigated through URL whitelisting as well as common anti-phishing resources.
Solution On March 21, 2023, Snowflake merged a patch that fixed a command injection vulnerability in the Snowflake Golang driver via SSO browser URL authentication. The vulnerability affected the Snowflake Golang driver before Version 1.6.19. We strongly recommend users upgrade to Version 1.6.19 as soon as possible via the following resources: Go Snowflake Driver
Additional Information If you discover a security vulnerability in one of our products or websites, please report the issue to HackerOne. For more information, please see our Vulnerability Disclosure Policy.
Other sources
gosnowflake is th Snowflake Golang driver. Prior to version 1.6.19, a command injection vulnerability exists in the Snowflake Golang driver via single sign-on (SSO) browser URL authentication. In order to exploit the potential for command injection, an attacker would need to be successful in (1) establishing a malicious resource and (2) redirecting users to utilize the resource. The attacker could set up a malicious, publicly accessible server which responds to the SSO URL with an attack payload. If the attacker then tricked a user into visiting the maliciously crafted connection URL, the user’s local machine would render the malicious payload, leading to a remote code execution. This attack scenario can be mitigated through URL whitelisting as well as common anti-phishing resources. A patch is available in version 1.6.19.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
go/github.com/snowflakedb/gosnowflaketo a version that resolves this vulnerability.Fixed in 1.6.19 - Upgrade
Upgrade
gosnowflaketo a version that resolves this vulnerability.Fixed in 1.6.19 - Compensating control
Mitigate the command injection risk by implementing URL whitelisting for SSO browser URL authentication endpoints (and apply common anti-phishing resources) so users are not redirected to attacker-controlled public servers that respond to the SSO URL with a payload.
Event History
Frequently Asked Questions
What is the severity of CVE-2023-34231?
CVE-2023-34231 has a high severity due to the potential for command injection via SSO browser URL authentication.
How do I fix CVE-2023-34231?
To mitigate CVE-2023-34231, users should update to the Snowflake Golang driver version 1.6.19 or later.
What happens if I don't address CVE-2023-34231?
Failure to address CVE-2023-34231 may result in unauthorized command execution that can compromise sensitive data.
Which versions of the Snowflake Golang driver are affected by CVE-2023-34231?
CVE-2023-34231 affects versions of the Snowflake Golang driver prior to 1.6.19.
Is CVE-2023-34231 related to any specific authentication method?
Yes, CVE-2023-34231 is specifically related to SSO browser URL authentication in the Snowflake Golang driver.