RustFS has a gRPC Hardcoded Token Authentication Bypass
Date: 2025-12
Affected: rust/rustfs
Attack vector: auth-bypass
Category: vulnerability-disclosure
Severity: Critical
CVE: CVE-2025-68926
CWE: CWE-287
CWE-798
CVSS: 9.8 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)

## Vulnerability Overview ### Description RustFS implements gRPC authentication using a hardcoded static token `"rustfs rpc"` that is: 1. **Publicly exposed** in the source code repository 2. **Hardcoded** on both client and server sides 3. **Non-configurable** with no mechanism for token rotation 4. **Universally valid** across all RustFS deployments Any attacker with network access to the gRPC port can authenticate using this publicly known token and execute privileged operations including data destruction, policy manipulation, and cluster configuration changes. ### CVSS 3.1 Score **Score**: 9.8 (Critical) **Vector**: `CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H` - **Attack Vector (AV)**: Network - Exploitable remotely - **Attack Complexity (AC)**: Low - No special conditions required - **Privileges Required (PR)**: None - No authentication needed (bypassed) - **User Interaction (UI)**: None - Fully automated exploitation - **Scope (S)**: Unchanged - Impact contained to vulnerable component - **Confidentiality (C)**: High - Complete data disclosure - **Integrity (I)**: High - Complete data modification capability - **Availability (A)**: High - Complete service disruption capability --- ## Vulnerable Code Analysis ### Server-Side Authentication (rustfs/src/server/http.rs:679-686) ```rust #[allow(clippy::result_large_err)] fn check_auth(req: Request<()>) -> std::result::Result<Request<()>, Status> { let token: MetadataValue<_> = "rustfs rpc".parse().unwrap();


Mitigations:

Architectural layers (MAESTRO):