Expedition. Free, on-demand.

Technical tracks for practitioners, outcomes for leaders.

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.

Where Data Does More