Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-15736

CVE-2026-15736: Snowflake SQLAlchemy SQL Injection Flaw

CVE-2026-15736 is a SQL injection vulnerability in Snowflake SQLAlchemy versions before 1.11.0 that enables attackers to inject malicious SQL and access sensitive data. This article covers technical details, impact, and mitigation.

Published:

CVE-2026-15736 Overview

CVE-2026-15736 affects Snowflake SQLAlchemy versions prior to 1.11.0. The library contains three distinct vulnerabilities that enable SQL injection and arbitrary local file disclosure. Attackers can exploit improper handling of user-supplied column identifiers in merge operations, unsafe literal rendering of bound parameters in table creation queries, and improper forwarding of connection configuration parameters. Successful exploitation allows read access to database contents, modification of values within MERGE statements, arbitrary data exfiltration, and disclosure of local files accessible to the application process. The maintainers released 1.11.0 to remediate all three issues, and users must upgrade manually.

Critical Impact

Attackers with low-privilege network access can inject SQL, exfiltrate query results, and force the library to read arbitrary local files and transmit them to attacker-controlled endpoints.

Affected Products

  • Snowflake SQLAlchemy versions prior to 1.11.0
  • Python applications integrating Snowflake SQLAlchemy for database access
  • Deployment environments that accept user-controlled connection parameters

Discovery Timeline

  • 2026-07-14 - CVE-2026-15736 published to NVD
  • 2026-07-15 - Last updated in NVD database

Technical Details for CVE-2026-15736

Vulnerability Analysis

CVE-2026-15736 bundles three security defects in Snowflake SQLAlchemy. The first is a SQL injection flaw in merge operations. The library trusts attacker-controlled input keys as column identifiers, so a dynamic upsert endpoint that maps request field names to column names propagates injected SQL directly into the generated MERGE statement.

The second flaw affects Snowflake-specific table creation queries. Bound parameters are rendered as literals rather than parameterized values. Any application endpoint that passes user data through the affected query-building API can trigger arbitrary SQL execution within the connection role's scope.

The third flaw involves improper forwarding of connection configuration parameters, categorized under [CWE-73] External Control of File Name or Path. When applications accept user-controlled connection parameters, an attacker can direct the library to read arbitrary local files and transmit their contents to an attacker-controlled endpoint.

Root Cause

The merge injection stems from concatenating request-supplied identifiers into SQL text without an identifier allowlist or safe quoting. The table creation injection stems from inlining bound values into DDL instead of using parameter binding. The file disclosure stems from passing untrusted parameters into connection primitives that can reference local file paths.

Attack Vector

Exploitation occurs over the network with low privileges and no user interaction. An attacker submits crafted request field names, crafted string values, or crafted connection parameters to any application endpoint that forwards them to the vulnerable APIs. The result is SQL injection, data exfiltration through the query response, or outbound transmission of local file contents.

No verified public exploit code is available. See the GitHub Release Notes for maintainer guidance on the affected code paths.

Detection Methods for CVE-2026-15736

Indicators of Compromise

  • Outbound network connections from application hosts to unexpected external endpoints coinciding with Snowflake SQLAlchemy activity
  • Unusual MERGE statements in Snowflake query history containing unexpected column identifiers or nested subqueries
  • DDL activity referencing table properties that embed non-standard string literals sourced from user input

Detection Strategies

  • Inventory Python dependencies and flag any snowflake-sqlalchemy version below 1.11.0
  • Review application code for endpoints that map request field names to column identifiers passed into merge or upsert helpers
  • Audit deployment configuration for user-controllable Snowflake connection parameters, especially fields referencing file paths

Monitoring Recommendations

  • Enable Snowflake query history logging and alert on MERGE and CREATE TABLE statements containing anomalous identifiers or literals
  • Monitor egress traffic from application servers for connections to domains not on an approved allowlist
  • Log all connection strings assembled from user input and alert on file path parameters

How to Mitigate CVE-2026-15736

Immediate Actions Required

  • Upgrade Snowflake SQLAlchemy to version 1.11.0 or later across all environments
  • Audit application endpoints that forward request data to merge, upsert, or table creation APIs
  • Remove or restrict any interfaces that let end users supply raw Snowflake connection parameters

Patch Information

The fix is available in Snowflake SQLAlchemy 1.11.0. Users must manually upgrade — no automatic update path is provided. Refer to the GitHub Release Notes for release details.

Workarounds

  • Validate request field names against a strict server-side allowlist before mapping them to column identifiers
  • Sanitize and type-check all user input passed into Snowflake-specific DDL builders, rejecting strings containing SQL metacharacters
  • Construct Snowflake connection parameters server-side from trusted configuration rather than user-supplied values
  • Restrict the database role used by the application to the minimum privileges required for its workload
bash
# Configuration example
pip install --upgrade "snowflake-sqlalchemy>=1.11.0"
pip show snowflake-sqlalchemy | grep -i version

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.