Read the docs

SQL injection in Snowflake Connector for Python write_pandas()

Priority LOW 37CWE-89Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
High
Impact type
SQL injection
Confidentiality · integrity · availability
High · High · High
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-89.

Summary

Snowflake Connector for Python from 2.3.4 before 4.8.1 and Snowflake Connector for Python (Universal Core) from 5.0.0b1 before 5.2.0 are affected. With identifier escaping disabled by a non-default configuration, write_pandas() does not escape DataFrame column names in generated SQL (CWE-89). A remote attacker without privileges can chain SQL statements via a crafted column name the application passes in. This can read, modify, or delete data the application's Snowflake role can access.

Written with Claude Haiku 5.5 from the sources below · 2026-11-06

Description from the CNA

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. Users must upgrade manually.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00374 31st percentileScored 2026-11-07
Fix Fixed Snowflake Connector for Python (Snowflake): 4.8.1Snowflake Connector for Python (Universal Core) (Snowflake): 5.2.0

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Total

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
SnowflakeSnowflake Connector for Python2.3.4 to before 4.8.14.8.1Patch availableCNA
SnowflakeSnowflake Connector for Python (Universal Core)5.0.0b1 to before 5.2.05.2.0Patch availableCNA
  • Snowflake Connector for Python VendorSnowflake Affected 2.3.4 to before 4.8.1 Fixed in 4.8.1 Patch available CNA
  • Snowflake Connector for Python (Universal Core) VendorSnowflake Affected 5.0.0b1 to before 5.2.0 Fixed in 5.2.0 Patch available CNA

Remediation

Upgrade Snowflake Connector for Python to 4.8.1 and Snowflake Connector for Python (Universal Core) to 5.2.0. Users must upgrade manually.

Written with Claude Haiku 5.5 from the sources below · 2026-11-06

  • Fix · CNA Snowflake Connector for Python (Snowflake) Fixed in 4.8.1
  • Fix · CNA Snowflake Connector for Python (Universal Core) (Snowflake) Fixed in 5.2.0

Timeline

  1. 2026-11-06 Threatist record created from CVE-2026-123859
  2. 2026-11-06 CISA SSVC decision points changed
  3. 2026-11-06 Priority changed: MEDIUM → LOW
  4. 2026-11-06 Alias added: GHSA-wfjf-896m-7r59

References

  • TI-2022-20945 Exponential ReDoS in snowflake-connector-python leads to denial of service CVSS 3.1HIGH 7.5
  • TI-2026-02844 snowflakedb snowflake-jdbc JDBC URL SdkProxyRoutePlanner.java SdkProxyRoutePlanner redos CVSS 4.0MEDIUM 4.8
  • TI-2026-13340 Improper TLS Hostname Verification in Snowflake Connector for Python CVSS 4.0CRITICAL 9.2
  • TI-2026-09272 Streamlit Palette hashing.py weak hash CVSS 4.0LOW 2.0
  • TI-2023-17069 Snowflake Python Connector vulnerable to Command Injection CVSS 3.1HIGH 8.8
  • TI-2023-17068 Snowflake NodeJS Driver vulnerable to Command Injection CVSS 3.1HIGH 8.8
See all 55 →

Sources