Reproduced Exploit
InfinitySix — Stale 1-min TWAP + Instant Referral Bonus Over-Mint
invest() immediately credits the sponsor with directBonus += 5% of the invest amount. withdraw() pays that USDT-denominated bonus in i6 tokens priced by twapPrice, but updateTwap() refuses to update more than once per minute. Inside one transaction the attacker:
Loss
~$273.8K USDT attacker profit (PoC net ~$277.2K without flash fees)
Chain
BNB Chain
Category
oracle
Date
Mar 2026
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, 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. Exploit reproduction, trace data, and analysis adapted from DeFiHackLabs by SunWeb3Sec — an open registry of reproduced on-chain exploits. Standalone Foundry PoC and full write-up: 2026-03-InfinitySix_exp in the
evm-hack-registrymirror. Upstream DeFiHackLabs PoC:src/test/…/InfinitySix_exp.sol.
Vulnerability classes: vuln/oracle/price-manipulation · vuln/logic/incorrect-calculation
Reproduction: Foundry PoC in this project folder — ONLINE archive fork (BSC). Verbose run: output.txt. Verified source: sources/InfinitySix.sol.
Key info#
| Loss | ~$273.8K USDT attacker profit (PoC net ~$277.2K without flash fees) |
| Vulnerable contract | InfinitySix (direct) — 0x1cb36b0f1efd9b738997da3d5525364c7e82a18a |
| i6 token | 0xd7684971afe4c231fa9af6b53e18eaf86438a0e6 |
| USDT | 0x55d398326f99059ff775485246999027b3197955 |
| i6/USDT pair | 0xdc769f4d941408ab5c12db981e50ed3e69357e36 |
| Attacker EOA | 0x6d1cafc890cc7dd6bf3718453367f8e0fd9851e4 |
| Attack contract | 0xb38cba2562b70309fc19d06b6b0468c8fd89b025 |
| Attack tx | 0xc1b9a237…ab2f16 |
| Chain / block / date | BSC / 89,703,286 (fork at 89,703,285) / Mar 31, 2026 |
| Bug class | Instant directBonus + same-tx stale TWAP settlement |
TL;DR#
invest() immediately credits the sponsor with directBonus += 5% of the invest amount.
withdraw() pays that USDT-denominated bonus in i6 tokens priced by twapPrice, but
updateTwap() refuses to update more than once per minute. Inside one transaction the
attacker:
- Does a small self-invest under
GENESIS_USER(locks TWAP ≈ 1.05 USDT/i6). - Routes
$124M USDT through a helper that invests with the attacker as referrer → **$6.2M directBonus** + floods the LP (spot ≈ 15,528). - Calls
withdraw()— TWAP still ~1.05 → mints ~5.6M i6 from the project reserve (fair amount at spot would be ~399 i6). - Dumps i6 into the USDT-heavy LP for ~$125.2M, repays capital, keeps ~$274K.
Vulnerable code#
Instant referral bonus (sources/InfinitySix.sol)#
if (user.referrer != address(0)) {
User storage refUser = users[user.referrer];
if (!refUser.isCapped) {
refUser.directBonus += (usdtAmount * DIRECT_BONUS_RATE) / 1000; // 5%, immediate
}
}
Stale TWAP floor#
uint32 public constant TWAP_UPDATE_INTERVAL = 1 minutes;
function updateTwap() public {
// ...
if (timeSinceLastUpdate < TWAP_UPDATE_INTERVAL) return; // same-tx: always early-return
// ...
}
function withdraw() external nonReentrant {
if (uniswapPair != address(0)) { updateTwap(); }
// ...
uint256 effectivePrice = twapPrice > minTwapPrice ? twapPrice : minTwapPrice;
uint256 tokensToTransfer = (totalUsdtToWithdraw * WAD) / effectivePrice;
// transfer i6 to msg.sender (minus 5% burn)
}
The sponsor’s 7× payout cap is sized so sponsorInvest * 7 ≈ referralInvest * 5%
(885,815.60 × 7 = 6,200,709.20 = 5% of 124,014,184.40).
Attack flow#
PoC notes#
- ONLINE fork via
BSC_RPC_URL(defaulthttps://bsc-mainnet.public.blastapi.io). - Capital is
deal’d USDT (live attack used Moolah WBNB flash → Venus → PancakeV3 flash). - Run:
BSC_RPC_URL=... forge test --match-contract InfinitySix_exp -vv - Expected:
[PASS], net profit > 100k USDT (observed ~277k).
Offline anvil_state.json not shipped (large multi-protocol state; ONLINE only).
References#
- ExVul: https://x.com/exvulsec/status/2038823338034987369
- DarkNavy write-up: https://www.darknavy.org/web3/exploits/infinitysix-twap-stale-price/
Sources & further analysis#
Reproductions & code
- Standalone PoC + full trace: 2026-03-InfinitySix_exp (evm-hack-registry mirror).
- Upstream DeFiHackLabs PoC:
InfinitySix_exp.sol. - Attack transaction: view on explorer.
Alerts & third-party analyses
- Original alert / thread: post on X.
- DeFiHackLabs incident explorer: search "InfinitySix".
- Web3Sec X hacked database: search.
- Rekt leaderboard: search.
- Solodit incident search: search.
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.