GitHub Advisoryadvisory · crates.io
GHSA-333v-68xh-8mmq RustFS's RPC signature verification logs shared secret
LOW
Official page ↗
- Aliases
- CVE-2026-22782
- Ecosystem
- crates.io
- Packages
- rustfs
- Severity
- Low
- CVSS vector
- CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:P
- Weaknesses
- CWE-532
- Reviewed
- 2026-01-16
Affected packages
• crates.io rustfs: >= 1.0.0-alpha.1, < 1.0.0-alpha.80 → fixed in 1.0.0-alpha.80
Description
Summary
Invalid RPC signatures cause the server to log the shared HMAC secret (and expected signature), which exposes the secret to log readers and enables forged RPC calls.
Details
In `crates/ecstore/src/rpc/http_auth.rs:115-122` , the invalid signature branch logs sensitive data:
```rs
if signature != expected_signature {
error!(
"verify_rpc_signature: Invalid signature: secret {}, url {}, method {}, timestamp {}, signature {}, expected_signature {}",
secret, url, method, timestamp, signature, expected_signature
);
return Err(std::io::Error::other("Invalid signature"));
}
```
This log line includes `secret` and `expected_signature`, both derived from the shared HMAC key. Any invalidly signed request triggers this path. The function is reachable from RPC and admin request handlers.
PoC
1. Run RustFS with error logging enabled.
1. Send a request with an invalid signature:
```
ts=$(date +%s)
curl -v \
-H "x-rustfs-timestamp: $ts" \
-H "x-rustfs-signature: invalid-signature" \
"http://localhost:9000/rustfs/rpc/read_file_stream?disk=foo&volume=bar&path=baz&offset=0&length=1"
```
1. Observed output:
```
HTTP 403 AccessDenied: Invalid signature
verify_rpc_signature: Invalid signature: secret rustfsadmin, url /rustfs/rpc/read_file_stream?disk=foo&volume=bar&path=baz&offset=0&length=1, method GET, timestamp 1767852115, signature invalid-signature, expected_signature oisNxNRTb80GXf97s/PGdScJzu8QB9Oxs+uOwf8RiK8=
```
Impact
• Exposes the shared RPC HMAC secret to log readers.
• Enables attackers with log access to forge valid RPC signatures and make unauthorized RPC calls.
Related
Alias · CVE (1)
- CVE-2026-22782 RustFS is a distributed object storage system built in Rust. vulnerability
Weakness · CWE (1)
- CWE-532 Insertion of Sensitive Information into Log File weakness
References
- https://github.com/rustfs/rustfs/security/advisories/GHSA-333v-68xh-8mmq web
- https://nvd.nist.gov/vuln/detail/CVE-2026-22782 advisory
- https://github.com/rustfs/rustfs/commit/6b2eebee1d07399ef02c0863bd515b4412a5a560 web
- https://github.com/rustfs/rustfs package
- https://github.com/rustfs/rustfs/blob/9e162b6e9ebb874cc1d06a7b33bc4a05786578aa/crates/ecstore/src/rpc/http_auth.rs#L115-L122 web