CVE-2024-49750·Python vulnerability
The Snowflake Connector for Python provides an interface for developing Python applications that can connect to Snowflake and perform all standard operations. Prior to version 3.12.3, when the logging level was set by the user to DEBUG, the Connector could have logged Duo passcodes (when specified via the `passcode` parameter) and Azure SAS tokens. Additionally, the SecretDetector logging formatter, if enabled, contained bugs which caused it to not fully redact JWT tokens and certain private key formats. Snowflake released version 3.12.3 of the Snowflake Connector for Python, which fixes the issue. In addition to upgrading, users should review their logs for any potentially sensitive information that may have been captured.
- Severity
- medium
- Software
- Python
- Fixed in
- 3.12.3
- Published
- 2024-10-24
Affected versions
Until: 3.12.3
Fixed in: 3.12.3
How to fix this CVE
Upgrade the Snowflake Connector for Python to version 3.12.3 or later to prevent accidental exposure of authentication credentials in debug logs. This vulnerability affects applications using DEBUG-level logging, which may inadvertently capture Duo passcodes, Azure SAS tokens, JWT tokens, and private keys. After upgrading, audit your existing log files for any sensitive data that may have been logged and securely rotate affected credentials.
sudo dnf upgrade python3-snowflakeDefensia detects this vulnerability
How to check if you are affected
- Step 1: Check the installed Snowflake Connector version by running: python3 -c "import snowflake.connector; print(snowflake.connector.__version__)"
- Step 2: Verify if your application uses DEBUG-level logging by searching configuration files for 'DEBUG' or 'logging.DEBUG' in your Python codebase
- Step 3: Search application logs for patterns matching Duo passcode formats (typically 6-8 digits) and SAS tokens (containing 'sv=', 'ss=', 'sig=') by running: grep -i 'passcode\|sv=.*ss=' /var/log/application.log
- Step 4: After upgrading, confirm the new version is active by re-running the version check command and validating version 3.12.3 or higher is returned
FAQ
What is CVE-2024-49750?
CVE-2024-49750 is a credential disclosure vulnerability in Snowflake Connector for Python where DEBUG-level logging inadvertently exposes authentication secrets like Duo passcodes, Azure SAS tokens, and JWT tokens that should have been redacted.
Is CVE-2024-49750 being actively exploited?
No, this vulnerability is not listed on the CISA Known Exploited Vulnerabilities (KEV) catalog and has no publicly available exploits. However, it poses risk if logs are accessible to unauthorized users.
What versions of Snowflake Connector for Python are affected by CVE-2024-49750?
All versions prior to 3.12.3 are affected. The vulnerability was introduced in earlier versions and patched in release 3.12.3.
How do I check if my server is vulnerable to CVE-2024-49750?
Run: python3 -c "import snowflake.connector; print(snowflake.connector.__version__)" and compare the output against version 3.12.3. If your version is below 3.12.3, you are vulnerable.
Does Defensia detect CVE-2024-49750?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If Snowflake Connector for Python is installed on a monitored server, CVE-2024-49750 will appear in your dashboard with remediation steps.
Related Python CVEs
References
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2024-49750. Free for 1 server.
Get started free