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.
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.
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": []
}
/tmp/target.txt is removed by os.RemoveAll.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.
validate.ValidateID) and file path validation (path.VerifyFileName) have been enforced across management endpoints.9081) via authentication, reverse proxies, and firewall rules.{
"cwe_ids": [
"CWE-22"
],
"github_reviewed": true,
"github_reviewed_at": "2026-09-09T17:59:27Z",
"nvd_published_at": null,
"severity": "MODERATE"
}