Skip to content
Fencer Vulns
medium 5.5

CVE-2025-58363 json

LF Edge eKuiper: Arbitrary File and Directory Deletion via Path Traversal in Plugin Installation Endpoint

published 2026-09-09 1 mo ago modified 2026-09-17 52 d ago also GHSA-c23q-fw86-9h5x , GO-2026-6445

cvss
5.5
version 3.1, GitHub
cisa kev
Not listed
not in CISA's catalog
epss
—
no EPSS score yet
public exploits
0
none known

Summary

### Summary A path traversal vulnerability in eKuiper's administrative management endpoints allows privileged users or attackers with access to management APIs to delete arbitrary files or directories on the host system.

### Details In `internal/plugin/native/manager.go`, the plugin installation endpoint (`POST /plugins/*`) constructs a temporary directory path by directly joining user-supplied resource names (`name`) without sufficient sanitization. Supplying path traversal sequences (such as `../../...`) causes the deferred cleanup operation (`os.RemoveAll`) to target arbitrary directories outside the intended plugin directory.

A related issue in configuration and rule lifecycle management where unvalidated rule identifiers could influence file deletion paths was also addressed by introducing unified identifier and file name validation.

### PoC 1. Target file deletion via plugin installation endpoint: ```http POST /plugins/sources HTTP/1.1 Host: 127.0.0.1:9081 Content-Type: application/json

{ "name": "../../../../../tmp/target.txt", "file": "http://example.com/plugin.zip", "shellParas": [], "functions": [] } ``` 2. When the request finishes, `/tmp/target.txt` is removed by `os.RemoveAll`.

### Impact An attacker with access to eKuiper management APIs can cause arbitrary file or directory deletion, potentially leading to denial of service or disruption of the host environment. This vulnerability provides a delete-only capability and does not permit arbitrary file creation, modification, or code execution.

### Remediation & Patches - **Upgrade to eKuiper >= 2.4.1**: Input validation (`validate.ValidateID`) and file path validation (`path.VerifyFileName`) have been enforced across management endpoints.

### Workarounds - Restrict network access to eKuiper management port (`9081`) via authentication, reverse proxies, and firewall rules. - Run eKuiper with a dedicated non-root user account to limit file system deletion permissions.

### Credits - @kosmosec - @arpitjain099

Patch / fix

  • go github.com/lf-edge/ekuiper/v2 2.4.1
  • govulncheck-vulndb SLES 16.0, SLES for SAP applications 16.0 0.0.20260916T180043-160000.1.1

suse advisories SUSE-SU-2026:23855-1SUSE-SU-2026:23863-1

  • govulncheck-vulndb openSUSE Leap 16.0 0.0.20260916T180043-160000.1.1

opensuse advisories openSUSE-SU-2026:21897-1

CVSS scores

assigned by version score vector
GitHub 3.1 5.5 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:L/A:H

Affected packages

ecosystem package affected fixed in
go github.com/lf-edge/ekuiper/v2
<2.4.1
2.4.1
go github.com/lf-edge/ekuiper
all versions
no fix listed

Classification

Weakness
  • CWE-22 Improper Limitation of a Pathname to a Restricted Directory

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.