Skip to main content

RustFS CVE-2026-73289

| EUVDEUVD-2026-57234 HIGH
Incorrect Authorization (CWE-863)
2026-08-12 GitHub_M
8.1
CVSS 3.1 · Vendor: GitHub_M
Share

Severity by source

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

AC:H because exploitation depends on non-default policy configurations using negated set-qualifier operators; PR:L because authentication is required per description and CVSS input.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
None

Lifecycle Timeline

4
Patch available
Aug 12, 2026 - 16:02 EUVD
Source Code Evidence Fetched
Aug 12, 2026 - 15:21 vuln.today
Analysis Generated
Aug 12, 2026 - 15:21 vuln.today
CVE Published
Aug 12, 2026 - 14:43 cve.org
HIGH 8.1

DescriptionCVE.org

RustFS is a distributed object storage system built in Rust. Prior to 1.0.0-beta.12, RustFS evaluates the ForAllValues: and ForAnyValue: set qualifiers with the negated string operators StringNotEquals, StringNotEqualsIgnoreCase, StringNotLike, ArnNotEquals, and ArnNotLike using each other's semantics because crates/policy/src/policy/function/string.rs negates the aggregate result after eval or eval_like instead of negating each request-value predicate before quantification. Partially overlapping policy and request value sets can therefore make an Allow condition grant access to an excluded principal or make a Deny guardrail fail, including policies based on jwt:groups and jwt:roles; absent keys also receive the opposite ForAllValues: and ForAnyValue: behavior. This issue is fixed in version 1.0.0-beta.12.

AnalysisAI

Policy engine logic in RustFS incorrectly swaps ForAllValues: and ForAnyValue: set-qualifier semantics when paired with negated condition operators (StringNotEquals, StringNotLike, ArnNotEquals, ArnNotLike, StringNotEqualsIgnoreCase), allowing authenticated low-privilege users to bypass IAM-style access controls in versions prior to 1.0.0-beta.12. The root cause is that negation is applied to the aggregate quantifier result rather than to each individual request-value predicate before quantification, meaning partially overlapping policy and request value sets can cause an explicit Deny guardrail to evaluate as Allow - including policies controlling access via jwt:groups and jwt:roles claims. …

Unlock full vulnerability intelligence

  • Risk assessment & exploitation conditions
  • Attack chain visualization
  • Remediation with exact patch versions
  • Threat intelligence from 22 sources
  • Personal watchlist & email alerts

Free forever · No credit card required

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata

Access
Authenticate with low-privilege credentials
Delivery
Inspect target bucket policy for ForAllValues:StringNotEquals or ArnNotEquals on jwt:groups/jwt:roles
Exploit
Craft JWT or request with partially overlapping group/role values
Execution
Submit request to restricted resource
Persist
Inverted quantifier logic causes Deny guardrail to evaluate as Allow
Impact
Access confidential or writable resource

Vulnerability AssessmentAI

Exploitation Exploitation requires that the target RustFS deployment has at least one IAM policy using ForAllValues: or ForAnyValue: set qualifiers in combination with one of the five negated operators: StringNotEquals, StringNotEqualsIgnoreCase, StringNotLike, ArnNotEquals, or ArnNotLike. … Additional conditions and limiting factors are described in the full assessment.
Risk Assessment The official CVSS 8.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N) reflects network-accessible exploitation requiring only low-privilege authentication, with high confidentiality and integrity impact. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in.
Exploit Scenario An authenticated low-privilege user identifies that a restrictive Deny policy uses ForAllValues:StringNotEquals on the jwt:groups condition key to exclude their group from a sensitive bucket. Because the policy engine incorrectly negates the aggregate result rather than each predicate, submitting a request with a jwt:groups claim that partially overlaps the excluded set causes the Deny evaluation to return the wrong boolean, and the request is permitted instead of denied. …
Remediation Upgrade to RustFS 1.0.0-beta.12 or later; the patched release is available at https://github.com/rustfs/rustfs/releases/tag/1.0.0-beta.12, corresponding to commit 92f83bfe155d8a3b9cdd903086e5b28d52339efb. … Detailed patch versions, workarounds, and compensating controls in full report.

Recommended ActionAI

Within 24 hours, identify all RustFS deployments and document any policies using negated set-qualifier operators (StringNotEquals, StringNotLike, ArnNotEquals, ArnNotEqualsIgnoreCase), particularly for jwt:groups and jwt:roles claims. …

Sign in for detailed remediation steps and compensating controls.

Threat intelligence, references, and detailed analysis are available after sign-in.

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-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-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-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

CVE-2026-55188 HIGH
8.2 Jun 26

Information disclosure in RustFS, a Rust-based distributed object storage system, lets any authenticated user with no ef

Share

CVE-2026-73289 vulnerability details – vuln.today

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