Reproduced Exploit
Onemind FeePayer: ignored call success sticks the mint fee
Chain
Other
Category
dependency
Date
Oct 2022
Source
AuditVault
EVM Playground
Source-level debugger — step opcodes and Solidity in sync
The attack is replayed in an in-browser EVM preloaded with the exact dumped fork state. The execution tree shows every call; step by Solidity line or by opcode across all depths — source, Stack, Memory, Storage, Balances (native / ERC-20 / NFT), Transient storage and Return value stay in sync. Click a tree node, opcode, or source line to jump. No backend, no live RPC.
Source & credit. Reproduction of a public audit finding curated by AuditVault — the original finding: 57634-eth-can-get-stuck-on-the-contract-zokyo-none-onemind-markdow. Standalone Foundry PoC and full write-up: 57634-eth-can-get-stuck-on-the-contract-zokyo-none-onemind-markdow_exp in the
evm-hack-registrymirror.
Vulnerability classes: vuln/dependency/unchecked-return-value
Reproduction: faithful local reproduction of AuditVault 57634.
handleMintFeeforwards ETH withcalland does not require the success flag.
Root cause#
FeePayer.handleMintFee sends msg.value to the fee receiver and ignores the boolean returned by call. A reverting receiver does not revert the mint, and the ETH remains on FeePayer.
// @> VULN: call() success is ignored, so a failed ETH transfer does not revert
(bool ok,) = address(feeReceiver).call{value: msg.value}("");
mintCount += 1;
Attack path#
Impact#
The mint completes and 1 ETH is stuck in FeePayer. The receiver's balance stays 0. The fixed function requires ok, so the same call reverts and no ETH remains on the contract.
PoC#
cd 57634-eth-can-get-stuck-on-the-contract-zokyo-none-onemind-markdow_exp
forge test -vv
Sources#
- AuditVault finding 57634
- Zokyo, Onemind, 2022-10-18: https://github.com/solodit/solodit_content/blob/main/reports/Zokyo/2022-10-18-Onemind.md
Sources & further analysis#
Reproductions & code
- Standalone PoC + full trace: 57634-eth-can-get-stuck-on-the-contract-zokyo-none-onemind-markdow_exp (evm-hack-registry mirror).
- AuditVault finding: 57634-eth-can-get-stuck-on-the-contract-zokyo-none-onemind-markdow.
Alerts & third-party analyses
These dashboards index community alerts tweets, post-mortems, and independent write-ups. Reach them through the protocol name above to cross-check this reproduction against other analyses.