Impact
JuiceFS’s local filestore backend constructs file paths by simply joining the configured root directory with arbitrary object keys. The path resolution lacks a containment check, allowing a key containing traversal components to resolve to a location outside the intended root. Consequently, operations such as Put, Get, Delete, and Chmod can create, read, or modify files at attacker‑controlled locations without returning an error. This flaw enables an adversary—by supplying specially crafted keys during a sync operation—to overwrite system files or drop malicious content on the host filesystem, potentially leading to arbitrary code execution or persistent compromise. The vulnerability stems from a directory traversal weakness (CWE‑22).
Affected Systems
The issue affects JuiceFS deployments (juicedata:juicefs) running versions prior to the inclusion of the containment check added in the patch referenced by commit 0bcd70b3. Users of JuiceFS versions that have not incorporated this fix are susceptible whenever the file:// backend is used as a sync destination from a source that is not fully trusted.
Risk and Exploitability
The CVSS score of 7.1 marks this as a high‑severity condition, while the EPSS score is not available. The vulnerability is not listed in the CISA KEV catalog, suggesting it has not yet been widely exploited in the wild. The likelihood of exploitation hinges on the attacker’s ability to provide object keys to a sync operation; thus the attack vector is inferred to be a malicious or compromised source bucket used in a JuiceFS sync. An operator who syncs from a bucket they do not fully control, such as a shared or public bucket or one an attacker can write to, stands to suffer a write at an attacker‑influenced location. If successful, the attacker could overwrite critical configuration files, inject malware, or modify data, leading to loss of integrity and availability. The problem persists until the containment check is enforced, after which any key that escapes the root results in an error and the operation is aborted.
OpenCVE Enrichment