RustFS: Internode RPC HMAC secret falls back to public default credential, enabling peer impersonation
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-798.
Summary
RustFS is a distributed object storage system built in Rust. Prior to 1.0.0-beta.2, the internode RPC layer authenticates every request with an HMAC-SHA256 signature using a shared secret. The function that produces this secret, get_shared_secret() in crates/ecstore/src/rpc/http_auth.rs, falls back to the public, source-tree-embedded DEFAULT_SECRET_KEY = "rustfsadmin" when neither the RUSTFS_RPC_SECRET environment variable nor the global S3 secret key has been configured. This vulnerability is fixed in 1.0.0-beta.2.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- Yes
- 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.2
Timeline
- 2026-10-02 Threatist record created from CVE-2026-45039
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