Skip to main content

RustFS EUVDEUVD-2026-57229

| CVE-2026-73285 HIGH
Incorrect Authorization (CWE-863)
2026-08-12 GitHub_M
7.5
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Obtain valid RustFS credentials (PR:L)
  2. Delivery
    Confirm OPA authorization is active (RUSTFS_POLICY_PLUGIN_URL set)
  3. Exploit
    Identify objects protected by s3:ExistingObjectTag policy conditions
  4. Install
    Issue standard S3 API request targeting restricted object
  5. C2
    OPA receives policy evaluation request lacking ExistingObjectTag context
  6. Execute
    Policy evaluates without tag constraints and grants access
  7. Impact
    Read, write, or delete objects outside authorized scope

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires two simultaneous non-default conditions: (1) OPA external authorization must be explicitly enabled by an operator via the RUSTFS_POLICY_PLUGIN_URL environment variable - this is not set by default and represents a deliberate architectural choice; and (2) at least one IAM policy in the deployment must use s3:ExistingObjectTag/* conditions as access control gates on objects or operations. Additionally, the attacker must possess valid RustFS credentials (PR:L); unauthenticated exploitation is not possible. The vulnerability does not affect deployments running built-in IAM-only authorization. Exploitation is further scoped to objects and operations whose access controls rely specifically on ExistingObjectTag conditions - policies based on other condition keys (source IP, request time, string-match on bucket name) are unaffected. The combination of required configuration and required credential possession makes AC:H and PR:L the binding constraints for realistic exploitation.

Impact

The vendor-assigned CVSS 7.5 (High) with vector AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H is well-calibrated. AC:H accurately reflects that exploitation requires a non-default operator configuration (OPA enabled via RUSTFS_POLICY_PLUGIN_URL) combined with tag-based IAM policies - neither of which is a default RustFS deployment state. PR:L correctly captures that valid credentials are required; unauthenticated exploitation is not possible. The C:H/I:H/A:H impact reflects that a bypass of tag-based conditions can affect any S3 operation (GetObject, PutObject, DeleteObject) on restricted objects. EPSS data is not provided in the input and cannot be inferred. This CVE is not listed in CISA KEV, and no POC code has been identified, indicating no confirmed or widespread active exploitation at time of analysis. Real-world risk is further tempered by RustFS's limited production footprint as a pre-1.0 project. Deployments without OPA configured are completely unaffected - this is a targeted risk for organizations that specifically adopted OPA-based ABAC in RustFS.

Exploit ScenarioDerived

An authenticated RustFS user with standard low-privilege credentials targets a bucket where sensitive objects are protected exclusively by an s3:ExistingObjectTag condition - for example, a policy denying GetObject unless the object carries the tag classification=public. The user issues a standard S3 GetObject request via any S3-compatible client; because OPA receives the policy evaluation request without the ExistingObjectTag context values, the condition evaluates as if no tag restriction exists and access is granted. The attacker can then read, overwrite, or delete any object whose access controls rely on ExistingObjectTag conditions across the deployment. No public exploit code has been identified, but exploitation requires only standard S3 API calls once valid credentials and knowledge of the policy structure are available.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 12, 2026

Tag-based S3 policy bypass in RustFS distributed object storage allows authenticated users on versions 1.0.0-alpha.64 through pre-rc.1 to circumvent object-level access controls when OPA external authorization is active. The IAM subsystem incorrectly initializes PreparedIamAuth.needs_existing_object_tag for the OPA mode, causing maybe_merge_object_tag_conditions to silently omit s3:ExistingObjectTag/* condition values from policy evaluation - meaning any policy restriction keyed on object tags is effectively ignored. No public exploit code has been identified and the vulnerability is not listed in CISA KEV; a vendor-released fix is available in 1.0.0-rc.1.

RemediationAI

Upgrade to RustFS version 1.0.0-rc.1, which resolves the issue via commit 98d3619613722308498494d412797a52ea8ae64d (https://github.com/rustfs/rustfs/commit/98d3619613722308498494d412797a52ea8ae64d); the release is available at https://github.com/rustfs/rustfs/releases/tag/1.0.0-rc.1. If immediate upgrade is not feasible, the most effective compensating control is to disable OPA external authorization by unsetting the RUSTFS_POLICY_PLUGIN_URL environment variable and restarting the service - this eliminates the vulnerable code path entirely, though it requires migrating any OPA-based authorization rules to native RustFS IAM policies, which may be operationally disruptive. A narrower workaround is to audit all active IAM policies and eliminate any reliance on s3:ExistingObjectTag/* conditions while running the affected version, substituting them with bucket-level or prefix-based restrictions that are not affected by this flaw; this reduces the blast radius without requiring OPA to be disabled, at the cost of coarser access granularity.

Affected VersionsENISA

rustfs 1.0.0-alpha.64, < 1.0.0-rc.1

Affected Packages

euvd rustfs_1_0_0_alpha_64 fix: 1.0.0-rc.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

RustFS is an S3-compatible distributed object storage system written in Rust, positioned as an alternative to MinIO. Its IAM subsystem (crates/iam/src/sys.rs) supports two authorization modes: built-in IAM and an external Open Policy Agent (OPA) plugin, activated by setting the RUSTFS_POLICY_PLUGIN_URL environment variable. In OPA mode, the PreparedIamMode::Opa code path sets PreparedIamAuth.needs_existing_object_tag to an incorrect value, which prevents the function maybe_merge_object_tag_conditions from injecting s3:ExistingObjectTag/* condition context into the policy decision request sent to OPA. S3 tag-based conditions (e.g., 'allow access only if the object has tag env=production') are a standard IAM feature used to implement attribute-based access control (ABAC) on individual objects. Because the tag context is omitted, OPA evaluates policies without these constraints and may incorrectly grant access. The root cause is CWE-863 (Incorrect Authorization): the authorization path is reached, but the inputs to the decision are incomplete, corrupting the outcome. Affected CPE: cpe:2.3:a:rustfs:rustfs:*:*:*:*:*:*:*:*.

Know when Rustfs gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

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

OPA must be explicitly operator-configured (AC:H); valid credentials required (PR:L); all three impacts high as any tagged-object S3 operation can be bypassed.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

2
Patch available
Aug 12, 2026 - 16:02 EUVD
CVE Published
Aug 12, 2026 - 14:37 cve.org
HIGH 7.5

DescriptionCVE.org

RustFS is a distributed object storage system built in Rust. From 1.0.0-alpha.64 until 1.0.0-rc.1, RustFS external OPA authorization enabled by RUSTFS_POLICY_PLUGIN_URL in crates/iam/src/sys.rs sets PreparedIamAuth.needs_existing_object_tag incorrectly for PreparedIamMode::Opa, causing maybe_merge_object_tag_conditions to omit s3:ExistingObjectTag/* values and allowing authenticated users to bypass tag-based policy restrictions. This issue is fixed in version 1.0.0-rc.1.

Executive ViewAI

Why It Matters

RustFS distributed object storage versions 1.0.0-alpha.64 through pre-rc.1 contain an access control bypass affecting systems configured with OPA-based authorization policies, enabling authenticated users to circumvent object-level permissions and access data outside their authorization scope. Organizations using affected deployments for sensitive object storage face a data confidentiality and integrity risk, particularly where fine-grained access policies are critical to compliance. A vendor-released patch is available in version 1.0.0-rc.1.

Business Impact: High
Compensating Controls

Apply vendor patch: upgrade to RustFS version 1.0.0-rc.1. No interim mitigations available; patching is required to resolve access control bypass.

Threat Intelligence Overview

EPSS Score
0.3%
Top 73% exploitable
Prevalence
Low
pre-1.0 Rust object storage with limited production adoption
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

More in Rustfs

View all
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-2025-68705 HIGH POC
8.8 Jan 07

Path traversal in the RustFS /rustfs/rpc/read_file_stream endpoint allows an attacker to read arbitrary files from the h

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-2025-69255 MEDIUM POC
5.5 Jan 07

RustFS is a distributed object storage system built in Rust. [CVSS 4.0 MEDIUM]

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

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