RustFS: ForAllValues/ForAnyValue negated string conditions are transposed, inverting IAM and bucket-policy decisions
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- High · High · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-863.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
- Fix · CNA rustfs (rustfs) Fixed in 1.0.0-beta.12
Timeline
- 2026-10-02 Threatist record created from CVE-2026-73289
References
More rustfs vulnerabilities
- TI-2025-42382 RustFS has a gRPC Hardcoded Token Authentication Bypass CVSS 3.1CRITICAL 9.8
- TI-2026-32895 RustFS: Authentication bypass in /profile/cpu and /profile/memory allows unauthenticated access to profiling handlers CVSS 4.0HIGH 8.8
- TI-2026-32892 RustFS: Hard-coded RSA private key in license verifier permits arbitrary license forgery CVSS 4.0HIGH 8.7
- TI-2025-42176 RustFS Path Traversal Vulnerability CVSS 4.0HIGH 8.8
- TI-2026-36822 RustFS Snowball Auto-Extract: Path Traversal allows cross-bucket object injection CVSS 3.1HIGH 8.6
- TI-2026-32894 RustFS: ImportIam Allows Creation of Backdoor Service Accounts Under Any Parent Including Root CVSS 4.0CRITICAL 9.3
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences