SEPTEMBER 18, 2026
Live Feed
Back to database
Case File

CVE-2026-77763

MEDIUM · CVSS 6.5 EPSS 0.33% Public Exploit

Source: NVD + CISA KEV + EPSS · Published 2026-08-21 · Last synced 2026-09-18

CyberRota Analysis

AI-Generated

The filestore backend in the affected software is vulnerable to directory traversal attacks, allowing an attacker to manipulate object keys during synchronization, potentially leading to unauthorized file writes outside the intended local destination. This flaw poses a risk primarily to operators syncing from untrusted or shared object stores, as it can result in the injection of malicious content into sensitive areas of the filesystem without any error notification. Organizations utilizing this software should prioritize patching to mitigate the risk of exploitation.

Public Exploit Signal

A public exploit, PoC, GitHub repository or Metasploit reference was detected for this CVE.

Note: these links are listed for security research and verification purposes only.

CVE
CVE-2026-77763
Severity
MEDIUM
CVSS
6.5
EPSS
0.33%

Original NVD 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.