CVE-2026-49991
Deferred Deferred - Pending Action
Path Traversal in RustFS Object Storage

Publication date: 2026-06-26

Last updated on: 2026-06-26

Assigner: GitHub, Inc.

Description
RustFS is a distributed object storage system built in Rust. In 1.0.0-beta.4, authenticated users with only PutObject permission on their own bucket can exploit a path traversal vulnerability in the Snowball auto-extract feature to write arbitrary objects into other users' buckets, completely breaking multi-tenant isolation. The vulnerability chains three flaws: No ../ sanitization in tar entry key normalization; IAM wildcard matching uses raw (uncleaned) paths; and Filesystem path cleaning resolves ../ across bucket boundaries.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-06-26
Last Modified
2026-06-26
Generated
2026-06-27
AI Q&A
2026-06-26
EPSS Evaluated
N/A
NVD
EUVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
rustfs rustfs 1.0.0-beta.4
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-862 The product does not perform an authorization check when an actor attempts to access a resource or perform an action.
CWE-22 The product uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the product does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory.
Attack-Flow Graph
AI Quick Actions
Instant insights powered by AI
Executive Summary

CVE-2026-49991 is a high-severity vulnerability in RustFS, a distributed object storage system. It affects version 1.0.0-beta.4 with the Snowball auto-extract feature enabled. Authenticated users who have only PutObject permission on their own bucket can exploit a path traversal flaw to write arbitrary objects into other users' buckets, breaking multi-tenant isolation.

The vulnerability results from a chain of three issues: improper sanitization of "../" sequences in tar entry keys, IAM wildcard matching that uses raw (uncleaned) paths, and filesystem path cleaning that resolves "../" across bucket boundaries. An attacker can craft a malicious tar file with entries like "../victim-bucket/evil.txt", upload it with auto-extract enabled, bypass IAM checks, and inject files into another user's bucket.

Impact Analysis

This vulnerability can have serious impacts including cross-bucket object injection, which means an attacker can write arbitrary files into other users' buckets.

  • Breaks multi-tenant isolation, compromising data separation between users.
  • Allows data corruption by overwriting or injecting malicious objects.
  • Enables malware injection into other users' storage buckets.
Compliance Impact

This vulnerability can lead to compliance violations because it breaks data isolation between tenants, potentially exposing or corrupting sensitive data belonging to other users.

Such unauthorized data access and modification can violate regulations like GDPR and HIPAA, which require strict controls on data privacy, integrity, and access.

Mitigation Strategies

To mitigate this vulnerability, you should disable the Snowball auto-extract feature in RustFS version 1.0.0-beta.4, as it is enabled by default and is the root cause of the path traversal issue.

Additionally, consider restricting or reviewing PutObject permissions to prevent unauthorized object uploads that could exploit this flaw.

Applying any available patches or updates from RustFS that address this vulnerability is also recommended once they are released.

Chat Assistant
Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-49991. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70
EPSS Chart