CVE-2025-55674 Overview
CVE-2025-55674 is a security control bypass affecting Apache Superset versions prior to 5.0.0. The vulnerability allows authenticated users with SQL Lab access to circumvent the DISALLOWED_SQL_FUNCTIONS denylist by wrapping blocked functions inside a specially crafted inline block. Attackers can execute functions intended to be disabled, including those that reveal database metadata such as the backing database software version. The Apache Superset project assigned CWE-89 to this issue, categorizing it as improper SQL input neutralization. Upgrade to Apache Superset 5.0.0 to remediate.
Critical Impact
Authenticated SQL Lab users can bypass the function denylist and run blocked SQL functions, enabling disclosure of sensitive database metadata.
Affected Products
- Apache Superset versions before 5.0.0
- Deployments exposing SQL Lab to low-privilege users
- Any Superset instance relying on DISALLOWED_SQL_FUNCTIONS as a security boundary
Discovery Timeline
- 2025-08-14 - CVE-2025-55674 published to the National Vulnerability Database
- 2025-08-14 - Apache Software Foundation disclosed the issue on the Apache Mailing List and OpenWall OSS Security
- 2026-06-17 - Last updated in NVD database
Technical Details for CVE-2025-55674
Vulnerability Analysis
Apache Superset provides the DISALLOWED_SQL_FUNCTIONS configuration setting to prevent SQL Lab users from calling specific database functions. Administrators typically populate this list with functions that leak version information, system state, or allow privileged operations against the backing database. The denylist is enforced through SQL parsing before queries are forwarded to the database engine.
The parser evaluates function tokens outside of certain inline comment constructs. An attacker places a blocked function inside a specially crafted inline block that bypasses parser inspection. The database then evaluates the comment contents and executes the function. The result is returned through the normal SQL Lab response path, exposing data the denylist was designed to protect.
The vulnerability maps to CWE-89, SQL Injection, because untrusted input alters the executed SQL statement after security filtering completes.
Root Cause
The root cause is incomplete SQL token normalization in the Superset query validator. The validator strips or ignores inline comment structures before checking the statement against DISALLOWED_SQL_FUNCTIONS, while many database engines evaluate those same constructs as executable SQL. This mismatch between the validator and the executor creates a parser differential that an attacker can abuse.
Attack Vector
Exploitation requires an authenticated account with SQL Lab query privileges. The attacker submits a query through the SQL Lab interface that embeds a blocked function inside the bypass construct. Superset forwards the statement to the database, which executes the hidden function and returns the output. No elevated role, no local access, and no user interaction are required beyond standard SQL Lab usage.
No verified proof-of-concept code is published. See the Apache security advisory for the project's technical description of the bypass.
Detection Methods for CVE-2025-55674
Indicators of Compromise
- SQL Lab query logs containing inline comment syntax wrapping function calls
- Query history records where executed statements reference functions listed in DISALLOWED_SQL_FUNCTIONS
- Database audit logs showing version-disclosure functions such as version() invoked from the Superset service account
- Spikes in SQL Lab activity from accounts that normally do not run metadata queries
Detection Strategies
- Enable verbose SQL Lab query logging and alert on statements that contain inline comment markers combined with denylisted function names
- Correlate Superset application logs with backend database audit logs to identify discrepancies between validated and executed SQL
- Baseline normal SQL Lab usage per user and flag deviations in function usage patterns
- Review the query table in the Superset metadata database for suspicious query strings
Monitoring Recommendations
- Forward Superset application logs and backend database audit logs to a centralized analytics platform for correlation
- Monitor authentication events for SQL Lab roles and track newly granted access
- Alert on execution of version, user, or system information functions by the Superset database role
How to Mitigate CVE-2025-55674
Immediate Actions Required
- Upgrade Apache Superset to version 5.0.0 or later
- Audit all accounts assigned the sql_lab role and remove unneeded access
- Rotate database credentials used by Superset if query logs show evidence of bypass attempts
- Review the backing database for exposed metadata that may have been collected during the exposure window
Patch Information
The Apache Superset project fixed CVE-2025-55674 in version 5.0.0. Refer to the Apache Mailing List advisory for release notes and upgrade guidance. There is no official backport for versions prior to 5.0.0.
Workarounds
- Restrict SQL Lab access to a minimum set of trusted analysts until the upgrade is complete
- Apply least-privilege permissions on the database account used by Superset so blocked functions return no useful data
- Place a database proxy or query firewall in front of Superset to enforce function-level allowlists at the database layer
# Upgrade Apache Superset using pip
pip install --upgrade "apache-superset>=5.0.0"
superset db upgrade
superset init
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

