CVE-2026-73289 in RustFSinfo

Summary

by MITRE • 08/12/2026

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.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Analysis

by VulDB Data Team • 08/12/2026

RustFS represents a significant security vulnerability within its access control policy evaluation mechanism, specifically affecting versions prior to 1.0.0-beta.12. The flaw resides in how the system processes set qualifiers ForAllValues: and ForAnyValue: when applied to negated string operators including StringNotEquals, StringNotEqualsIgnoreCase, StringNotLike, ArnNotEquals, and ArnNotLike. This vulnerability fundamentally undermines the intended security posture by creating a semantic inversion in policy evaluation logic. The core technical issue stems from the implementation located in crates/policy/src/policy/function/string.rs where the system incorrectly negates the aggregate result after evaluation rather than negating individual request-value predicates before applying quantification logic. This misimplementation creates a critical inconsistency in access control decision making that directly violates established security principles.

The operational impact of this vulnerability is severe and potentially catastrophic for systems relying on RustFS for object storage access control. When partially overlapping policy and request value sets are present, the flawed evaluation logic can cause Allow conditions to inadvertently grant access to principals that should be excluded, effectively bypassing security controls. Conversely, Deny guardrails may fail to function properly, creating potential attack vectors where unauthorized access becomes possible. The vulnerability particularly affects policies utilizing jwt:groups and jwt:roles attributes, which are commonly employed in modern authentication and authorization frameworks, making the impact widespread for applications implementing token-based access control. Additionally, the issue extends to absent keys within policy evaluations, where these elements receive inverted ForAllValues: and ForAnyValue: behavior, further expanding the potential attack surface.

This vulnerability aligns with CWE-254, which addresses "Security Features" and specifically targets weaknesses in access control mechanisms through improper implementation of security policies. The flaw also relates to ATT&CK technique T1078.004, which covers "Valid Accounts: Cloud Accounts," as it could enable unauthorized access to cloud-based storage resources through manipulated policy evaluations. The root cause demonstrates poor implementation of quantified logical operators in security policy evaluation systems, where the fundamental logic inversion affects the core decision-making process. Organizations using RustFS versions before 1.0.0-beta.12 face significant risk of privilege escalation and unauthorized data access, particularly in environments where fine-grained access control based on user attributes is critical.

The mitigation strategy requires immediate upgrade to version 1.0.0-beta.12 or later, which contains the corrected implementation that properly handles negation semantics for set qualifiers. System administrators should conduct comprehensive policy reviews to identify any potentially affected policies, particularly those leveraging jwt:groups and jwt:roles attributes. Additional verification steps include testing access control decisions with various combinations of overlapping and non-overlapping policy and request value sets to ensure proper behavior. Organizations should also implement monitoring solutions to detect anomalous access patterns that might indicate exploitation attempts against the vulnerable logic. The fix addresses the specific implementation error by ensuring that individual predicate negations occur before quantification rather than applying a post-evaluation negation, thereby restoring correct logical semantics for all affected operators and maintaining the intended security posture of the distributed storage system.

Responsible

GitHub M

Reservation

08/11/2026

Disclosure

08/12/2026

Moderation

accepted

CPE

ready

EPSS

0.00000

KEV

no

Activities

very low

Sources

Interested in the pricing of exploits?

See the underground prices here!