Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2026-77763— JuiceFS Local Filestore Backend Joins Object Keys onto the Storage Root Without a Containment Check, Allowing Writes Outside the Configured Directory

Quick assessment

Affected
juicedata juicefs
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

pkg/object/file.go 中的 filestore 后端用于处理 file:// 存储,并作为 JuiceFS 同步操作的通用目标。该后端通过调用 path(key) 来获取每个操作的 target 路径,而 path(key) 的实现仅返回 filepath.Join(d.root, key) 或 filepath.Clean(d.root + key),并未检查结果路径是否仍位于根目录(d.root)之下。Put、Get、Head、Delete、Chmod、Chown、Symlink 和 Readl

CVSS 6.5 · Medium EPSS 0.33% · P26

Affected Version Matrix 1

VendorProduct Version RangeStatus
juicedata juicefs ≤ 1.4.1 affected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-77763

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
JuiceFS Local Filestore Backend Joins Object Keys onto the Storage Root Without a Containment Check, Allowing Writes Outside the Configured Directory
Source: CVE Program / CVE List V5
Vulnerability Description
The filestore backend in pkg/object/file.go, used for file:// stores and as a common juicefs sync destination, derived every operation's target from path(key), which returned either filepath.Join(d.root, key) or filepath.Clean(d.root + key) with no check that the result stayed beneath the root. Put, Get, Head, Delete, Chmod, Chown, Symlink and Readlink all consumed that value directly. Object keys enumerated from a source object store during a sync are not constrained the way local filesystem names are, so a key containing traversal segments causes juicefs to write attacker-supplied content to a path outside the intended local destination, and no error is returned. An operator syncing from a bucket whose contents they do not fully control, such as a shared or public bucket or one an attacker can write to, is therefore exposed to a file write at an attacker-influenced location. The fix changes path() to return an error and rejects any key whose resolved path escapes the root.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N
Source: CVE Program / CVE List V5
Vulnerability Type
对路径名的限制不恰当(路径遍历)
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
juicedata juicefs 0 ~ 1.4.1 -

II. Public POCs for CVE-2026-77763

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-77763

登录查看更多情报信息。

Patches & Fixes for CVE-2026-77763 (2)

Vendor Advisories for CVE-2026-77763 (1)

Proof of Concept for CVE-2026-77763 (1)

Other References for CVE-2026-77763 (1)

IV. Related Vulnerabilities

V. Comments for CVE-2026-77763

No comments yet


Leave a comment