GitHub Advisoryadvisory · Go

GHSA-rj4j-2jph-gg43 LF Edge eKuiper is vulnerable to Arbitrary File Read/Write via unsanitized names and zip extraction

CRITICAL Published 2025-11-24 Modified 2025-11-27 Official page ↗
Ecosystem
Go
Packages
github.com/lf-edge/ekuiper/v2
Severity
Critical
CVSS vector
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
Weaknesses
CWE-22, CWE-23
Reviewed
2025-11-24

Affected packages

• Go github.com/lf-edge/ekuiper/v2: < 2.3.0 → fixed in 2.3.0

Description

Summary Multiple path traversal and unsafe path handling vulnerabilities were discovered in eKuiper prior to the fixes implemented in PR lf-edge/ekuiper#3911. The issues allow attacker-controlled input (rule names, schema versions, plugin names, uploaded file names, and ZIP entries) to influence file system paths used by the application. In vulnerable deployments, this can permit files to be created, overwritten, or extracted outside the intended directories, potentially enabling disclosure of sensitive files, tampering with configuration or plugin binaries, denial of service, or other host compromise scenarios. Several components used unvalidated user input when constructing filesystem paths or when extracting archives. In each case, input was accepted and used directly in path operations (join, create, delete, extract) without sufficient sanitization or canonicalization, allowing the input to include path separators, `..` segments, or absolute paths. Impact Arbitrary file overwrite / deletion: attackers could overwrite or delete files outside the intended directory, which can corrupt application data, remove logs, or disable services. Resources • https://github.com/lf-edge/ekuiper/commit/58362b089c76f08c400fe0dbb3667e6e871eaffd • https://github.com/lf-edge/ekuiper/pull/3911

Related

Weakness · CWE (2)

  • CWE-22 Improper Limitation of a Pathname to a Restricted Directory weakness
  • CWE-23 Relative Path Traversal weakness

References