Summary
CVE-2026-49991 is a high-severity path traversal vulnerability (CVSS 8.6) in RustFS, an open-source S3-compatible distributed object storage system built in Rust. The flaw resides in the Snowball auto-extract feature and allows an attacker with only PutObject permission on their own bucket to write arbitrary objects into other tenants’ buckets, completely breaking multi-tenant isolation. There is currently no patch available; organizations running internet-exposed RustFS instances should apply network-level mitigations immediately.
Technical details
- Root cause: Three chained flaws enable the attack: (1) the
normalize_extract_entry_key()function trims slashes but does not sanitize../sequences in tar archive entry paths; (2) IAM policy wildcard matching evaluates raw, uncleaned paths, causing a policy likeattacker-bucket/*to incorrectly match traversal paths such asattacker-bucket/../victim-bucket/object; (3) filesystem path utilities resolve../sequences across bucket boundaries without enforcing bucket containment checks. - Trigger conditions: An attacker uploads a specially crafted tar archive containing entries with traversal paths (e.g.,
../victim-bucket/evil.txt) and sets theX-Amz-Meta-Snowball-Auto-ExtractHTTP header to trigger the auto-extract processing pipeline. - Attack vector: Network-accessible (AV:N), low attack complexity (AC:L), no user interaction required (UI:N). The CVSS vector carries a Scope:Changed (S:C) designation, reflecting that a successful exploit impacts resources beyond the attacker’s own bucket.
- Impact: An attacker can inject or overwrite arbitrary objects in any other tenant’s bucket. This results in full multi-tenant isolation bypass, enabling data corruption, unauthorized data injection, and potential escalation (e.g., overwriting application configuration or script objects stored in victim buckets). Confidentiality impact is rated None; Integrity impact is High.
Affected software
- RustFS version 1.0.0-beta.4
Severity
- CVSS v3.1 Base Score: 8.6 (HIGH)
- Vector:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:H/A:N - CWE-22: Improper Limitation of a Pathname to a Restricted Directory (Path Traversal)
- CWE-862: Missing Authorization
Mitigation and recommended actions
- Patch: No patched version of RustFS is currently available. Monitor the official RustFS security advisories for a fix release.
- Workarounds:
- Restrict network access to RustFS endpoints to trusted internal networks only; do not expose RustFS S3 API ports directly to the internet.
- Disable or block use of the Snowball auto-extract feature (
X-Amz-Meta-Snowball-Auto-Extractheader) at the reverse proxy or load balancer layer if multi-tenant deployments are in use. - Audit IAM policies to apply the principle of least privilege and monitor bucket access logs for unexpected cross-bucket write activity.
IONIX Status
The IONIX research team is tracking ongoing exploitation attempts and recommends immediate patching. Potentially affected assets are outlined in this post.

