CyberRota Analysis
AI-GeneratedRustFS versions prior to 1.0.0-beta.12 contain a vulnerability in the evaluation of set qualifiers with negated string operators, which can lead to improper access control. This flaw may allow unauthorized access to resources by granting permissions to excluded principals or causing deny conditions to fail, particularly affecting policies based on JWT groups and roles. Organizations using RustFS for distributed object storage should prioritize upgrading to the fixed version to mitigate potential security risks.
Public Exploit Signal
A public exploit, PoC, GitHub repository or Metasploit reference was detected for this CVE.
Note: these links are listed for security research and verification purposes only.
Original NVD Description
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.