{"answers":{"affected":"4 open source packages ship an affected version, including github.com/lf-edge/ekuiper/v2 and github.com/lf-edge/ekuiper.","exploited":"There is no known exploitation of GHSA-rj4j-2jph-gg43 in the wild and no public exploit code.","fix":"Upgrade github.com/lf-edge/ekuiper/v2 to 2.3.0 or later.","what":"GHSA-rj4j-2jph-gg43 is a path traversal vulnerability in github.com/lf-edge/ekuiper, published on 24 Nov 2025. Any signed-in user can exploit it over the network, with no action from the victim."},"fix_prompt":"Check this codebase for GHSA-rj4j-2jph-gg43 and fix it if it is affected.\n\nWhat it is: GHSA-rj4j-2jph-gg43 is a path traversal vulnerability in github.com/lf-edge/ekuiper, published on 24 Nov 2025. Any signed-in user can exploit it over the network, with no action from the victim.\nExploitation: There is no known exploitation of GHSA-rj4j-2jph-gg43 in the wild and no public exploit code.\n\nAffected packages and fixed versions:\n- github.com/lf-edge/ekuiper/v2 (Go): affected all versions; fixed in 2.3.0\n- github.com/lf-edge/ekuiper/v2 (Go): affected all versions; fixed in 2.3.0\n- github.com/lf-edge/ekuiper/v2 (Go): affected all versions; fixed in 2.3.0\n- github.com/lf-edge/ekuiper (Go): affected all versions; no fix listed\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/GHSA-rj4j-2jph-gg43/ (Markdown: https://insights.sbomify.com/GHSA-rj4j-2jph-gg43/index.md)","id":"GHSA-rj4j-2jph-gg43","markdown":"https://insights.sbomify.com/GHSA-rj4j-2jph-gg43/index.md","name":"GHSA-rj4j-2jph-gg43","record":{"aliases":["GO-2025-4158"],"analysis":{"component_type":"server_software","fix_type":"patch","impacts":["data_read","data_modify","denial_of_service"],"network_reachable":"yes","non_default_config":false,"product_category":"Edge computing framework","requires_auth":"low_privilege","summary":"Attackers can read, write, or delete arbitrary files via path traversal in eKuiper, potentially compromising the host system.","user_interaction":"not_required","vuln_class":"path_traversal"},"analysis_generated_by":"qwen3.8-flash-next","assigner":null,"cpe":[],"cvss":{"score":null,"severity":null,"source":null,"vector":null,"version":null},"cwes":[],"description":"### Summary\nMultiple path traversal and unsafe path handling vulnerabilities were discovered in eKuiper prior to the fixes implemented in PR [lf-edge/ekuiper#3911](https://github.com/lf-edge/ekuiper/pull/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.\n\nSeveral 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.\n\n### Impact\n**Arbitrary file overwrite / deletion:** attackers could overwrite or delete files outside the intended directory, which can corrupt application data, remove logs, or disable services.\n\n### Resources\n- https://github.com/lf-edge/ekuiper/commit/58362b089c76f08c400fe0dbb3667e6e871eaffd\n- https://github.com/lf-edge/ekuiper/pull/3911","ecosystems":["Go"],"exploits":{"exploitdb":null,"first_seen":null,"github_poc":null,"max_poc_stars":null,"metasploit":null,"nuclei":null,"refs":[],"tier":null},"has_fix":true,"headline":"LF Edge eKuiper is vulnerable to Arbitrary File Read/Write via unsanitized names and zip extraction","id":"GHSA-rj4j-2jph-gg43","indexable":true,"kev":null,"kind":"advisory","links":{"ecosystem":"Go","product":null,"products":[],"type":"path_traversal","year":"2025"},"n_packages":4,"n_references":null,"packages":[{"ecosystem":"Go","fixed":[],"introduced":["0"],"last_affected":[],"package":"github.com/lf-edge/ekuiper","purl":"pkg:golang/github.com/lf-edge/ekuiper","source":"GO-2025-4158"},{"ecosystem":"Go","fixed":["2.3.0"],"introduced":["0"],"last_affected":[],"package":"github.com/lf-edge/ekuiper/v2","purl":null,"source":"GHSA-rj4j-2jph-gg43"},{"ecosystem":"Go","fixed":["2.3.0"],"introduced":["0"],"last_affected":[],"package":"github.com/lf-edge/ekuiper/v2","purl":"pkg:golang/github.com/lf-edge/ekuiper/v2","source":"GHSA-rj4j-2jph-gg43"},{"ecosystem":"Go","fixed":["2.3.0"],"introduced":["0"],"last_affected":[],"package":"github.com/lf-edge/ekuiper/v2","purl":"pkg:golang/github.com/lf-edge/ekuiper/v2","source":"GO-2025-4158"}],"products":null,"published":"2025-11-24","related":[],"sources":[{"class":"attribution","licence":"CC BY 4.0","name":"GitHub Advisory Database","prefix":"GHSA"},{"class":"attribution","licence":"CC BY 4.0","name":"Go Vulnerability Database","prefix":"GO"}],"ssvc":{"automatable":null,"exploitation":null,"technical_impact":null},"state":null,"updated":null,"vendors":null},"summary":"Attackers can read, write, or delete arbitrary files via path traversal in eKuiper, potentially compromising the host system.","url":"https://insights.sbomify.com/GHSA-rj4j-2jph-gg43/"}