Listen to this Post
CVE-2026-23985 is a Regular Expression Denial of Service (ReDoS) vulnerability that affects Apache Superset, an open‑source data exploration and visualization platform. The flaw resides in the `sql_parse.py` component, specifically within the `SQL_REGEX` pattern that is used when integrating with the `sqlparse` library for parsing SQL statements. The vulnerable regular expression contains overlapping disjunctions that share a common outer quantifier. This structural weakness creates a catastrophic backtracking scenario: when the regex engine processes a specially crafted input string, the overlapping alternatives force the engine to explore an exponential number of paths before failing, consuming CPU cycles and memory.
An authenticated attacker can trigger this behaviour by sending a maliciously crafted input to any endpoint that processes SQL queries. The attack vector is simple – the attacker supplies a long sequence of backslashes (\) or similar repetitive characters within the `queries.extras.where` parameter or other query‑related fields. Because the attacker is authenticated, they have legitimate access to the query processing endpoints, making the attack difficult to distinguish from normal traffic. The most critical endpoint is /api/v1/chart/data, which is frequently used to fetch chart data and is a prime target for resource exhaustion.
The exploitation follows a classic ReDoS pattern: the malicious input causes the regular expression engine to perform excessive backtracking, as the overlapping disjunctions attempt to match the input in multiple ways. Each additional character in the input increases the number of backtracking steps exponentially, quickly leading to 100% CPU utilisation and rendering the service unresponsive. This denial‑of‑service condition can persist until the process is terminated or the system runs out of resources, effectively taking the Superset instance offline for all users.
The vulnerability affects all Apache Superset versions from 1.5.0 up to and including 5.0.0. The Apache Software Foundation has addressed the issue in version 6.0.0 by optimising the regular expression to eliminate the overlapping disjunctions and prevent catastrophic backtracking. For organisations that cannot upgrade immediately, two workarounds are recommended: deploy Web Application Firewall (WAF) rules to detect and block requests containing excessively long backslash sequences or suspicious repeated patterns in the `queries.extras.where` parameter, and enforce strict rate limiting on the `/api/v1/chart/data` endpoint to reduce the impact of any potential attack. The vulnerability is classified under CWE‑1333 (Inefficient Regular Expression Complexity) and aligns with the OWASP Top 10 category of Denial of Service.
DailyCVE Form:
Platform: Apache Superset
Version: 1.5.0 – 5.0.0
Vulnerability: Regular Expression Denial of Service
Severity: Medium (CVSS 4.0: 4.3)
date: 2026-07-30
Prediction: Already patched in v6.0.0
What Undercode Say:
Analytics indicate that exploitation attempts typically target the `/api/v1/chart/data` endpoint with a payload containing a long sequence of backslashes. The following bash command simulates a malicious request that can trigger the ReDoS condition:
curl -X POST "https://superset.example.com/api/v1/chart/data" \
-H "Authorization: Bearer <valid_token>" \
-H "Content-Type: application/json" \
-d '{
"queries": [{
"extras": {
"where": "\\\\\\\..." extremely long backslash sequence
}
}]
}'
A more targeted PoC using Python can be used to measure the response time degradation:
import requests
import time
url = "https://superset.example.com/api/v1/chart/data"
headers = {"Authorization": "Bearer <token>", "Content-Type": "application/json"}
payload = {"queries": [{"extras": {"where": "\" 5000}}]}
start = time.time()
requests.post(url, json=payload, headers=headers)
print(f"Response time: {time.time() - start:.2f}s")
Monitoring CPU usage during such requests will show a sharp spike, confirming the ReDoS vulnerability.
Exploit:
An authenticated attacker can exploit CVE‑2026‑23985 by submitting a crafted SQL query that includes a very long sequence of backslashes (or other repeating characters) to any endpoint that invokes the vulnerable SQL_REGEX. The most accessible endpoint is /api/v1/chart/data, but other query‑processing endpoints may also be susceptible. The attack does not require any special privileges beyond valid authentication, as the flaw lies in the parsing logic rather than in access controls. By sending a single request with a sufficiently long payload, the attacker can exhaust CPU resources on the server, causing the application to become unresponsive for several minutes or until the process is manually restarted. Repeated requests can lead to a prolonged denial‑of‑service condition, affecting all users of the Superset instance.
Protection:
- Upgrade to Apache Superset 6.0.0 – This is the definitive fix; the regular expression has been re‑written to eliminate overlapping disjunctions and prevent catastrophic backtracking.
- Deploy WAF Rules – Configure your Web Application Firewall to inspect the `queries.extras.where` parameter and block requests that contain more than, for example, 100 consecutive backslashes or other suspicious repetitive patterns.
- Implement Rate Limiting – Apply strict rate limiting to the `/api/v1/chart/data` endpoint. For example, using a reverse proxy like Nginx:
location /api/v1/chart/data { limit_req zone=superset_api burst=10 nodelay; proxy_pass http://superset_backend; } - Monitor and Alert – Set up monitoring for CPU usage and response times on Superset servers. Alert on sudden spikes that may indicate an ongoing ReDoS attack.
- Input Validation – Consider adding additional input validation to reject unusually long or repetitive sequences in query parameters before they reach the regex engine.
Impact:
Successful exploitation of CVE‑2026‑23985 leads to a denial‑of‑service condition where the Apache Superset instance becomes unresponsive due to excessive CPU consumption. This prevents legitimate users from accessing dashboards, running queries, or interacting with the platform, effectively halting business intelligence operations that depend on Superset. While the attack does not result in data loss or unauthorised access, the service disruption can have severe operational and financial consequences, especially for organisations that rely on real‑time data analytics. The vulnerability is particularly dangerous because it can be triggered by any authenticated user, meaning that a single malicious insider or a compromised account can bring down the entire system.
🎯Let’s Practice Exploiting & Learn Patching For Free:
🎓 Live Courses & Certifications:
Join Undercode Academy for Verified Certifications
🚀 Request a Custom Project:
Secure, high-velocity infrastructure and disruptive technological engineering. Contact our engineering team for high-tier development and proprietary systems:
[email protected]
💎 Smart Architecture | 🛡️ Secure by Design | ⭐ Trusted by Thousands
Sources:
Reported By: nvd.nist.gov
Extra Source Hub:
Undercode

