CVE-2025-54379
eKuiper API endpoints handling SQL queries with user-controlled table names.
LF Edge eKuiper is a lightweight IoT data analytics and stream processing engine running on resource-constraint edge devices. In versions before 2.2.1, there is a critical SQL Injection vulnerability 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. This is fixed in version 2.2.1.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
8.9
eKuiper API endpoints handling SQL queries with user-controlled table names.
LF Edge eKuiper is a lightweight IoT data analytics and stream processing engine running on resource-constraint edge devices. In versions before 2.2.1, there is a critical SQL Injection vulnerability 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. This is fixed in version 2.2.1.
- Record
CVE-2025-54379- CVSS 4.0
- 8.9 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:P - Weakness
- CWE-89
- Updated
- 2026-11-02
EUVDEUVD-2025-22548
8.9
LF Edge eKuiper is a lightweight IoT data analytics and stream processing engine running on resource-constraint edge devices. In versions before 2.2.1, there is a critical SQL Injection vulnerability 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. This is fixed in version 2.2.1.
- Record
EUVD-2025-22548- CVSS 4.0
- 8.9 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:P - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-526j-mv3p-f4vv
8.9
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:
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
- Deploy eKuiper instance (default config is sufficient).
- Send a crafted request to the SQL query endpoint:
curl -X POST http://localhost:9081/sql-query \
-H "Content-Type: application/json" \
-d '{
"table": "sensors; DROP TABLE users; --",
"operation": "getLast"
}'
- Effect: Executes two SQL queries — the first selects data, the second drops the
userstable. - Verify Result:
sqlite3 etc/kuiper/data/kuiper.db ".tables"
Impact
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')
Refferences
- Record
GHSA-526j-mv3p-f4vv- CVSS 4.0
- 8.9 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:P - Weakness
- CWE-89
- Updated
- 2026-11-02
NVD
8.9
LF Edge eKuiper is a lightweight IoT data analytics and stream processing engine running on resource-constraint edge devices. In versions before 2.2.1, there is a critical SQL Injection vulnerability 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. This is fixed in version 2.2.1.
- Record
CVE-2025-54379- CVSS 4.0
- 8.9 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-89
- Updated
- 2026-11-02
OSV
8.9
eKuiper API endpoints handling SQL queries with user-controlled table names.
LF Edge eKuiper is a lightweight IoT data analytics and stream processing engine running on resource-constraint edge devices. In versions before 2.2.1, there is a critical SQL Injection vulnerability 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. This is fixed in version 2.2.1.
- Record
CVE-2025-54379- CVSS 4.0
- 8.9 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:P - Weakness
- CWE-89
- Updated
- 2026-11-02
OSVGHSA-526j-mv3p-f4vv
8.9
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:
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
- Deploy eKuiper instance (default config is sufficient).
- Send a crafted request to the SQL query endpoint:
curl -X POST http://localhost:9081/sql-query \
-H "Content-Type: application/json" \
-d '{
"table": "sensors; DROP TABLE users; --",
"operation": "getLast"
}'
- Effect: Executes two SQL queries — the first selects data, the second drops the
userstable. - Verify Result:
sqlite3 etc/kuiper/data/kuiper.db ".tables"
Impact
CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')
Refferences
- Record
GHSA-526j-mv3p-f4vv- CVSS 4.0
- 8.9 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:P - Weakness
- CWE-89
- Updated
- 2026-11-02
OSVPYSEC-2025-241
9.8
LF Edge eKuiper is a lightweight IoT data analytics and stream processing engine running on resource-constraint edge devices. In versions before 2.2.1, there is a critical SQL Injection vulnerability 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. This is fixed in version 2.2.1.
- Record
PYSEC-2025-241- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVGO-2025-3827 No score
eKuiper API endpoints handling SQL queries with user-controlled table names. in github.com/lf-edge/ekuiper
eKuiper API endpoints handling SQL queries with user-controlled table names. in github.com/lf-edge/ekuiper
- Record
GO-2025-3827- Updated
- 2026-11-02
OSVopenSUSE-SU-2025:15405-1 No score
govulncheck-vulndb-0.0.20250730T213748-1.1 on GA media
These are all security issues fixed in the govulncheck-vulndb-0.0.20250730T213748-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2025:15405-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
github.com/lf-edge/ekuiper/v2Go |
before 2.2.1 | 2.2.1 |
github.com/lf-edge/ekuiperGo |
through 1.14.7 | None known |
github.com/lf-edge/ekuiperGo |
All versions | None known |
ekuiperPyPI |
through 2.1.5, plus listed versions 0.0.1.post100353925090.0.1.post104696579450.0.1.post105921332450.0.1.post109170634350.0.1.post11433945270 Show 45 moreShow less0.0.1.post114343610370.0.1.post117712141620.0.1.post123690503310.0.1.post145695877270.0.1.post150110166390.0.1.post152652457540.0.1.post15297610770.0.1.post160174398710.0.1.post162124208870.0.1.post16401907520.0.1.post164362204420.0.1.post16569514670.0.1.post16614545340.0.1.post17073381230.0.1.post174253912040.0.1.post179342656790.0.1.post187678267450.0.1.post19265497270.0.1.post195638764300.0.1.post20806684430.0.1.post22381393890.0.1.post246444961270.0.1.post24748926870.0.1.post249752559510.0.1.post264273693740.0.1.post27577223540.0.1.post29106727670.0.1.post29116167620.0.1.post31444380110.0.1.post32393294720.0.1.post33341446750.0.1.post33348524410.0.1.post34103317570.0.1.post34113210260.0.1.post34956687320.0.1.post35459486760.0.1.post37120372250.0.1.post37640110910.0.1.post39362659270.0.1.post39548427910.0.1.post41805219930.0.1.post44357078430.0.1.post45623583820.0.1.post47200143120.0.1.post5010322351 |
None known |
govulncheck-vulndbopenSUSE:Tumbleweed From an advisory covering 56 CVEs |
before 0.0.20250730T213748-1.1 | 0.0.20250730T213748-1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2025-54379 is a high vulnerability (CVSS 8.9) in Lf-edge Ekuiper, published July 24, 2025. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.87%, the 59th percentile. Fixed in github.com/lf-edge/ekuiper/v2 2.2.1.
References
github.com/lf-edge/ekuiper/security/advisories/GHSA-526j-mv3p-f4vv
github.com/lf-edge/ekuiper/commit/72c4918744934deebf04e324ae66933ec089ebd3
nvd.nist.gov/vuln/detail/CVE-2025-54379
github.com/advisories/GHSA-526j-mv3p-f4vv
github.com/CVEProject/cvelistV5/tree/main/cves/2025/54xxx/CVE-2025-54379.json
github.com/lf-edge/ekuiper
Show 56 moreShow less
suse.com/security/cve/CVE-2024-44905
suse.com/security/cve/CVE-2024-44906
suse.com/security/cve/CVE-2024-56731
suse.com/security/cve/CVE-2025-0928
suse.com/security/cve/CVE-2025-1088
suse.com/security/cve/CVE-2025-30086
suse.com/security/cve/CVE-2025-32019
suse.com/security/cve/CVE-2025-3227
suse.com/security/cve/CVE-2025-3228
suse.com/security/cve/CVE-2025-3415
suse.com/security/cve/CVE-2025-4563
suse.com/security/cve/CVE-2025-4656
suse.com/security/cve/CVE-2025-46702
suse.com/security/cve/CVE-2025-4674
suse.com/security/cve/CVE-2025-47281
suse.com/security/cve/CVE-2025-47871
suse.com/security/cve/CVE-2025-47943
suse.com/security/cve/CVE-2025-4922
suse.com/security/cve/CVE-2025-4981
suse.com/security/cve/CVE-2025-49825
suse.com/security/cve/CVE-2025-5030
suse.com/security/cve/CVE-2025-51471
suse.com/security/cve/CVE-2025-52477
suse.com/security/cve/CVE-2025-52889
suse.com/security/cve/CVE-2025-52890
suse.com/security/cve/CVE-2025-52893
suse.com/security/cve/CVE-2025-52894
suse.com/security/cve/CVE-2025-52900
suse.com/security/cve/CVE-2025-52901
suse.com/security/cve/CVE-2025-52902
suse.com/security/cve/CVE-2025-52903
suse.com/security/cve/CVE-2025-52904
suse.com/security/cve/CVE-2025-52995
suse.com/security/cve/CVE-2025-52996
suse.com/security/cve/CVE-2025-52997
suse.com/security/cve/CVE-2025-53512
suse.com/security/cve/CVE-2025-53513
suse.com/security/cve/CVE-2025-53547
suse.com/security/cve/CVE-2025-53632
suse.com/security/cve/CVE-2025-53633
suse.com/security/cve/CVE-2025-53634
suse.com/security/cve/CVE-2025-53826
suse.com/security/cve/CVE-2025-53893
suse.com/security/cve/CVE-2025-53945
suse.com/security/cve/CVE-2025-54059
suse.com/security/cve/CVE-2025-54379
suse.com/security/cve/CVE-2025-5689
suse.com/security/cve/CVE-2025-5981
suse.com/security/cve/CVE-2025-6023
suse.com/security/cve/CVE-2025-6032
suse.com/security/cve/CVE-2025-6224
suse.com/security/cve/CVE-2025-6226
suse.com/security/cve/CVE-2025-6227
suse.com/security/cve/CVE-2025-6233
suse.com/security/cve/CVE-2025-6264
suse.com/security/cve/CVE-2025-6624
Left out here: 88 versions. The JSON record has them.