SQL injection in Snowflake Connector for Python write_pandas()
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
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
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
- 2026-11-06 Threatist record created from CVE-2026-123859
- 2026-11-06 CISA SSVC decision points changed
- 2026-11-06 Priority changed: MEDIUM → LOW
- 2026-11-06 Alias added: GHSA-wfjf-896m-7r59
References
More Snowflake vulnerabilities
- 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
Sources
- CVE-2026-123859 · CVE Program
- CVE-2026-123859 · NVD
- FIRST EPSS
- GHSA-wfjf-896m-7r59 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences