Skip to main content

RustFS CVE-2026-55189

| EUVDEUVD-2026-39864 HIGH
Missing Authorization (CWE-862)
2026-06-26 GitHub_M
7.7
CVSS 3.1 · Vendor: GitHub_M
Share

Severity by source

Vendor (GitHub_M) PRIMARY
7.7 HIGH
AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N
vuln.today AI
7.7 HIGH

Requires an authenticated FTP login (PR:L) over the network; bypassing the IAM authorization boundary is a scope change (S:C) with read-only data exposure (C:H, I:N, A:N).

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
None
Availability
None

Lifecycle Timeline

1
Analysis Generated
Jun 26, 2026 - 20:35 vuln.today

DescriptionCVE.org

RustFS is a distributed object storage system built in Rust. From 1.0.0-alpha.1 until 1.0.0-beta.9, when the FTP frontend is enabled, the FTP read and probe handlers dispatch directly to the storage backend without ever calling the IAM authorization function that the FTP write/list handlers (and the entire HTTP S3 path) use. As a result, any user who can authenticate to the FTP listener - including a user whose IAM policy contains an explicit Deny on s3:GetObject - can read (RETR) and stat (SIZE/MDTM) any object in any bucket, and probe any bucket (CWD), completely regardless of their IAM policy. This vulnerability is fixed in 1.0.0-beta.9.

AnalysisAI

Authorization bypass in RustFS (1.0.0-alpha.1 through pre-beta.9 builds) lets any user able to authenticate to the optional FTP listener read and stat arbitrary objects in any bucket, even when their IAM policy explicitly Denies s3:GetObject. The FTP read/probe handlers (RETR, SIZE, MDTM, CWD) dispatch straight to the storage backend and skip the IAM authorization check enforced everywhere else, breaking tenant/object isolation. There is no public exploit identified at time of analysis, no CISA KEV listing, and no EPSS score was provided.

Technical ContextAI

RustFS is a distributed, S3-compatible object storage system written in Rust. Beyond the HTTP S3 API it exposes an optional FTP frontend so clients can interact with stored objects over FTP. Normally every data-plane operation funnels through a central IAM authorization function that evaluates the caller's policy (Allow/Deny on actions such as s3:GetObject). This flaw is a CWE-862 Missing Authorization: the FTP write and list handlers and the entire HTTP S3 path correctly invoke that IAM check, but the FTP read handler (RETR) and probe handlers (SIZE, MDTM for stat; CWD for bucket existence) call the storage backend directly without it. The CPE cpe:2.3:a:rustfs:rustfs:*:*:*:* confirms the affected component is the RustFS application itself across the alpha/beta release line up to 1.0.0-beta.9.

RemediationAI

Vendor-released patch: upgrade RustFS to 1.0.0-beta.9, which adds the missing IAM authorization call to the FTP read and probe handlers. If you cannot upgrade immediately, the most effective compensating control is to disable the FTP frontend entirely and serve data only over the HTTP S3 path, which already enforces IAM (trade-off: any legitimate FTP-based workflows break and must move to S3 clients). Where FTP must stay enabled, restrict network access to the FTP listener to trusted hosts and tightly control who holds FTP credentials, recognizing that this only narrows-does not close-the bypass, since any authenticated FTP user can still read denied objects. Refer to the advisory at https://github.com/rustfs/rustfs/security/advisories/GHSA-3g29-xff2-92vp for details.

More in Rustfs

View all
CVE-2025-68705 CRITICAL POC
9.8 Jan 07

RustFS (alpha.13 to alpha.78) has a path traversal in /rustfs/rpc/read_file_stream that allows reading arbitrary files o

CVE-2026-22043 CRITICAL POC
9.8 Jan 08

RustFS (alpha.13 to alpha.78) has a privilege escalation where restricted service accounts can self-issue unrestricted c

CVE-2026-27822 CRITICAL POC
9.0 Feb 25

Stored XSS in RustFS distributed object storage system before 1.0.0-alpha.83. Malicious JavaScript persists in stored ob

CVE-2026-22042 HIGH POC
8.8 Jan 08

Incorrect IAM permission validation in RustFS prior to version 1.0.0-alpha.79 permits principals with export-only permis

CVE-2026-22782 HIGH POC
7.5 Jan 16

RustFS versions 1.0.0-alpha.1 through 1.0.0-alpha.79 expose the shared HMAC secret in server logs when processing invali

CVE-2026-45039 CRITICAL
9.8 May 28

Authentication bypass in RustFS distributed object storage (versions prior to 1.0.0-beta.2) allows unauthenticated remot

CVE-2026-45043 CRITICAL
9.3 May 29

Privilege escalation in RustFS distributed object storage before 1.0.0-beta.2 lets a low-privileged user holding ImportI

CVE-2026-62378 CRITICAL
9.0 Jul 15

Stored cross-site scripting in RustFS Console (0.1.7 through 0.1.9) lets an attacker upload an HTML payload disguised as

CVE-2026-73284 HIGH
8.8 Aug 12

Privilege escalation in RustFS prior to version 1.0.0-beta.11 allows any authenticated user holding CreateServiceAccount

CVE-2026-45044 HIGH
8.8 May 28

Unauthenticated denial of service and information disclosure in RustFS distributed object storage prior to version 1.0.0

CVE-2026-45041 HIGH
8.7 May 28

License-enforcement bypass in RustFS distributed object storage (versions prior to 1.0.0-beta.2) stems from a hardcoded

CVE-2026-49991 HIGH
8.6 Jun 26

Cross-tenant object injection in RustFS 1.0.0-beta.4 lets a tenant holding only PutObject rights on their own bucket wri

Share

CVE-2026-55189 vulnerability details – vuln.today

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