Commit Graph
18 Commits
Author SHA1 Message Date
Zhengchao AnandGitHub 7b20554056 fix(credentials): fail closed when deriving RPC secret from default credentials (#4402)
The internode RPC HMAC secret is derived from the S3 credential pair via
`derive_rpc_secret` when `RUSTFS_RPC_SECRET` is unset. The derivation uses the
secret key as the HMAC key, so when the default secret key (`rustfsadmin`) is in
effect the derived RPC secret is a fixed, publicly computable value. Any network
peer can then forge valid `x-rustfs-signature` headers and invoke internode RPC
routes (e.g. `read_file_stream`), bypassing S3 IAM entirely.

`normalize_rpc_secret` already rejected the literal default when it was supplied
directly, but `resolve_rpc_secret` still derived a secret from the default
credential pair. Make the derivation path fail closed: refuse to derive while
the default secret key is in effect, forcing operators to set `RUSTFS_RPC_SECRET`
(or a non-default `RUSTFS_SECRET_KEY`). A default access key paired with a
non-default secret key remains safe and is still allowed.

Addresses GHSA-68cw-96m3-h2cf (incomplete-fix follow-up to CVE-2026-45039).
2026-07-08 09:31:25 +08:00
76124423a4 fix: stabilize s3-tests delete key-limit coverage (#4283)
* fix: tighten list handling and s3 test support

* chore: tidy imports and metric updates

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <[email protected]>
Signed-off-by: Zhengchao An <[email protected]>

* fix: address s3tests review follow-ups

---------

Signed-off-by: Zhengchao An <[email protected]>
Co-authored-by: Zhengchao An <[email protected]>
Co-authored-by: Copilot Autofix powered by AI <[email protected]>
2026-07-05 20:35:32 +08:00
Zhengchao AnandGitHub 4567f6f521 refactor(runtime): guard rpc secret global (#4043) 2026-06-29 14:02:03 +08:00
e42c6df0e8 fix(runtime): remove high-impact unwrap paths (#3755)
* fix(runtime): remove high-impact unwrap paths

* fix(runtime): propagate managed SSE metadata errors

* fix(runtime): add typed OPA config errors

* fix(runtime): harden config and credential helpers

* fix(runtime): remove SSE hmac unwraps

* fix(runtime): complete SSE helper error propagation

* fix(trusted-proxies): avoid legacy global init panics

* test(credentials): allow deprecated rpc token check

* fix(storage): harden object lock retention parsing

* chore(checks): refresh layer dependency baseline

* chore(checks): refresh layer dependency baseline

* Update layer-dependency-baseline.txt

Signed-off-by: houseme <[email protected]>

* test(context): avoid clone on copy boot time

---------

Signed-off-by: houseme <[email protected]>
Co-authored-by: Zhengchao An <[email protected]>
Co-authored-by: heihutu <[email protected]>
2026-06-23 15:12:47 +08:00
housemeandGitHub 3d2449872a refactor(credentials): derive RPC secret fallback and remove IAM keygen duplication (#3079)
* refactor(credentials): derive rpc secret and remove iam keygen

* fix(credentials): reject default access key RPC secret

* test(credentials): align RPC fallback and add keygen coverage
2026-05-25 11:05:58 +00:00
7692c0c3bd test(credentials): avoid printing default secret (#2820)
Signed-off-by: houseme <[email protected]>
Co-authored-by: houseme <[email protected]>
Co-authored-by: Claude Sonnet 4.6 <[email protected]>
Co-authored-by: loverustfs <[email protected]>
Co-authored-by: 安正超 <[email protected]>
2026-05-06 05:19:42 +00:00
36b3d21c44 test: cover RPC secret trimming fallback (#2796)
Signed-off-by: 安正超 <[email protected]>
Co-authored-by: houseme <[email protected]>
Co-authored-by: Copilot Autofix powered by AI <[email protected]>
2026-05-05 04:26:36 +00:00
66c38b629d Harden admin and RPC security checks (#2773)
Signed-off-by: 安正超 <[email protected]>
Co-authored-by: loverustfs <[email protected]>
Co-authored-by: Copilot Autofix powered by AI <[email protected]>
2026-05-03 11:55:09 +00:00
579b124726 lint: clippy rules or_fun_call (#2561)
Co-authored-by: houseme <[email protected]>
2026-04-16 02:48:39 +00:00
TungliesandGitHub 49366ee200 chore(lint): clippy rules redundant_clone (#2554) 2026-04-15 13:54:07 +00:00
安正超andGitHub 5048ff8c69 test(credentials): cover URL-safe secret keys (#2524) 2026-04-14 13:57:23 +08:00
505a566c7c fix: remove dead replace() call in gen_secret_key (credentials.rs) (#2515)
Signed-off-by: cocoon <[email protected]>
Signed-off-by: Cocoon-Break <[email protected]>
Co-authored-by: loverustfs <[email protected]>
Co-authored-by: houseme <[email protected]>
2026-04-13 18:42:50 +08:00
weisdandGitHub b9b7d86ae4 feat: improve legacy metadata and admin compatibility (#2202) 2026-03-18 21:05:09 +08:00
e1f24f764d fix(credentials): harden masked debug output (#2114)
Signed-off-by: heihutu <[email protected]>
Co-authored-by: houseme <[email protected]>
Co-authored-by: heihutu <[email protected]>
2026-03-11 15:40:37 +08:00
housemeandGitHub 0b870d6301 build(deps): bump the dependencies group with 19 updates (#1745) 2026-02-07 12:22:14 +08:00
housemeandGitHub 2108c4ad28 fix: remove plaintext credential logging (#1619) 2026-01-27 01:47:39 +08:00
housemeandGitHub 40ad2a6ea9 Remove unused crates (#1394) 2026-01-05 23:18:08 +08:00
eb33e82b56 fix: Prevent panic in GetMetrics gRPC handler on invalid input (#1291)
Co-authored-by: Copilot <[email protected]>
Co-authored-by: houseme <[email protected]>
2025-12-29 03:10:23 +08:00