CVE-2023-34233: Snowflake Python Connector vulnerable to Command Injection
Issue Snowflake was informed via our bug bounty program of a command injection vulnerability in the Snowflake Python connector via SSO browser URL authentication.
Impacted driver package: snowflake-connector-python
Impacted version range: before Version 3.0.2
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 23rd, 2023, Snowflake merged a patch that fixed a command injection vulnerability in the Snowflake Python connector via SSO browser URL authentication. The vulnerability affected the Snowflake Python connector before Version 3.0.2. We strongly recommend users upgrade to Version 3.0.2 as soon as possible via the following resources: Snowflake Python Connector
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
The Snowflake Connector for Python provides an interface for developing Python applications that can connect to Snowflake and perform all standard operations. Versions prior to 3.0.2 are vulnerable to command injection 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. Version 3.0.2 contains a patch for this issue.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
pip/snowflake-connector-pythonto a version that resolves this vulnerability.Fixed in 3.0.2 - Upgrade
Upgrade
snowflake-connector-pythonto a version that resolves this vulnerability.Fixed in 3.0.2 - Compensating control
Mitigate the command injection attack scenario via URL whitelisting and common anti-phishing resources for SSO browser URL authentication.
Event History
Frequently Asked Questions
What is the severity of CVE-2023-34233?
CVE-2023-34233 has been rated as a high-severity command injection vulnerability.
How do I fix CVE-2023-34233?
To fix CVE-2023-34233, upgrade the Snowflake Python connector to version 3.0.2 or later.
What software is affected by CVE-2023-34233?
CVE-2023-34233 affects the snowflake-connector-python package versions before 3.0.2.
Can CVE-2023-34233 be exploited remotely?
Yes, CVE-2023-34233 can be exploited remotely through crafted SSO browser URL authentication.
What is the nature of the vulnerability in CVE-2023-34233?
CVE-2023-34233 is a command injection vulnerability that can allow an attacker to execute arbitrary commands.