CVE ID
CVE-2026-123859
CVE ID Summary
With identifier escaping disabled via non-default configuration, write_pandas() did not escape DataFrame column names before embedding them in generated SQL, allowing SQL injection via attacker-controlled column names.
CWE ID
CWE-89: Improper Neutralization of Special Elements used in an SQL Command
Affected Versions
Snowflake Connector for Python: 2.3.4 < 4.8.1
Snowflake Connector for Python (Universal Core): 5.0.0b1 < 5.2.0
Patched Versions
Snowflake Connector for Python: 4.8.1
Snowflake Connector for Python (Universal Core): 5.2.0
Description
When identifier escaping is disabled through a non-default configuration, the write_pandas() data-loading functionality in the Snowflake Connector for Python and the Snowflake Connector for Python (Universal Core) did not escape DataFrame column names before including them in generated SQL, which could allow SQL injection. In both products, a crafted column name could have been used to chain additional SQL statements onto the generated statement, potentially allowing an attacker to read, modify, or delete other data accessible to the application's Snowflake role. Exploitation required an application to pass attacker controlled column names into this functionality. The fix is available in Snowflake Connector for Python version 4.8.1 and Snowflake Connector for Python (Universal Core) version 5.2.0.
Resolution
Upgrade to Snowflake Connector for Python 4.8.1 and Snowflake Connector for Python (Universal Core) 5.2.0. Users must upgrade manually.