Skip to main content

JuiceFS EUVDEUVD-2026-63899

| CVE-2026-77763 HIGH
Path Traversal (CWE-22)
2026-08-21 disclosure@vulncheck.com GHSA-2pgv-c2r7-f43r
7.1
CVSS 4.0 · Vendor: vulncheck
Share

Severity by source

Vendor (vulncheck) PRIMARY
7.1 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
6.1 MEDIUM

Attacker must have write access to a source bucket the operator syncs from (AC:H, UI:R); impact escapes the storage root to the broader filesystem (S:C); no confidentiality or availability impact applies.

3.1 AV:N/AC:H/PR:N/UI:R/S:C/C:N/I:H/A:N
4.0 AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (vulncheck).

CVSS VectorVendor: vulncheck

CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
P
Scope
X

Lifecycle Timeline

3
Source Code Evidence Fetched
Aug 21, 2026 - 11:33 vuln.today
Analysis Generated
Aug 21, 2026 - 11:33 vuln.today
CVE Published
Aug 21, 2026 - 11:17 cve.org
HIGH 7.1

DescriptionCVE.org

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.

AnalysisAI

Path traversal in JuiceFS filestore backend (pkg/object/file.go) enables arbitrary file writes outside the configured storage root during sync operations. The path() helper joined incoming object keys onto the storage root via filepath.Join or filepath.Clean without verifying the resolved result remained within that root, affecting Put, Get, Head, Delete, Chmod, Chown, Symlink, and Readlink. …

Unlock full vulnerability intelligence

  • Risk assessment & exploitation conditions
  • Attack chain visualization
  • Remediation with exact patch versions
  • Threat intelligence from 22 sources
  • Personal watchlist & email alerts

Free forever · No credit card required

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata

Access
Write traversal key to shared bucket
Delivery
Operator runs juicefs sync to file:// destination
Exploit
path() resolves key without root containment check
Execution
File written outside storage root
Impact
Payload persists at attacker-chosen sensitive path

Vulnerability AssessmentAI

Exploitation The attacker must be able to write object keys containing path traversal sequences (e.g., ../../<target_path>) to a source object storage bucket that an operator syncs FROM using juicefs sync. … Additional conditions and limiting factors are described in the full assessment.
Risk Assessment The CVSS 4.0 base score of 7.1 with VI:H (high integrity) and UI:P (passive user interaction) reflects the realistic threat posture well. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in.
Exploit Scenario An attacker with write access to a shared S3-compatible bucket uploads an object whose key is crafted as ../../.ssh/authorized_keys, with the object body containing the attacker's SSH public key. When the operator runs juicefs sync s3://shared-bucket/ file:///srv/data/, JuiceFS iterates bucket contents, passes the traversal key to path(), which resolves it to /srv/.ssh/authorized_keys rather than rejecting it, and writes the attacker's public key there. …
Remediation Upgrade JuiceFS to v1.4.1 or a build that includes commit 0bcd70b3d13088d38127d6fb5750c91be7c4ec16, which hardens path() with a containment check before any I/O operation. … Detailed patch versions, workarounds, and compensating controls in full report.

Recommended ActionAI

Within 24 hours: Inventory all JuiceFS deployments and identify systems using sync operations that source from shared, public, or potentially compromised buckets. …

Sign in for detailed remediation steps and compensating controls.

Threat intelligence, references, and detailed analysis are available after sign-in.

Share

EUVD-2026-63899 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy