Partial Path Traversal in com.github.jlangch:venice
Key facts
- Attack vector
- Local
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- Low · High · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub.
Summary
Venice is a Clojure inspired sandboxed Lisp dialect with excellent Java interoperability. A partial path traversal issue exists within the functions `load-file` and `load-resource`. These functions can be limited to load files from a list of load paths. Assuming Venice has been configured with the load paths: `[ "/Users/foo/resources" ]` When passing **relative** paths to these two vulnerable functions everything is fine: `(load-resource "test.png")` => loads the file "/Users/foo/resources/test.png" `(load-resource "../resources-alt/test.png")` => rejected, outside the load path When passing **absolute** paths to these two vulnerable functions Venice may return files outside the configured load paths: `(load-resource "/Users/foo/resources/test.png")` => loads the file "/Users/foo/resources/test.png" `(load-resource "/Users/foo/resources-alt/test.png")` => loads the file "/Users/foo/resources-alt/test.png" !!! The latter call suffers from the _Partial Path Traversal_ vulnerability. This issue’s scope is limited to absolute paths whose name prefix matches a load path. E.g. for a load-path `"/Users/foo/resources"`, the actor can cause loading a resource also from `"/Users/foo/resources-alt"`, but not from `"/Users/foo/images"`. Versions of Venice before and including v1.10.17 are affected by this issue. Upgrade to Venice >= 1.10.18, if you are on a version < 1.10.18. There are currently no known workarounds.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| jlangch | venice | up to 1.10.16 | — | No fix listed | CNA |
| — | com.github.jlangch:venice (Maven) | before 1.10.17 | 1.10.17 | Patch available | GHSA-4mmh-5vw7-rgvj |
- venice Vendorjlangch Affected up to 1.10.16 Fixed in — No fix listed CNA
- com.github.jlangch:venice (Maven) Vendor— Affected before 1.10.17 Fixed in 1.10.17 Patch available GHSA-4mmh-5vw7-rgvj
CPE configurations NVD · 1
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:venice_project:venice:*:*:*:*:*:*:*:* | before 1.10.17 | Vulnerable | Venice Project |
- cpe:2.3:a:venice_project:venice:*:*:*:*:*:*:*:* Versions before 1.10.17 Vulnerable ·Venice Project
Remediation
- Fix · GHSA-4mmh-5vw7-rgvj com.github.jlangch:venice (Maven) Fixed in 1.10.17 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2022-36007
- 2026-10-03 Alias added: GHSA-4mmh-5vw7-rgvj
References
Patch 2
Advisory 2
Sources
- CVE-2022-36007 · CVE Program
- CVE-2022-36007 · NVD
- FIRST EPSS
- GHSA-4mmh-5vw7-rgvj · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences