EthSecurity

Пост

Этот пост по его id.

https://api.web3aggregator.io/api/v1/posts/18416
curl -H "Authorization: Bearer $W3A_API_KEY" 'https://api.web3aggregator.io/api/v1/posts/18416'

Нужен ключ: W3A_API_KEY в окружении.

API отдаёт одно это сообщение: остальные части альбома там — отдельные посты, связанные полем album.

Документация API
zkLink Nova's Arbitrator hacked for~$780K

Rootcause: The Arbitrator contract had two related flaws that the attacker combined:
Uncleared transient storage of the authentication hash
During a legitimate claim, an authenticated gateway callback stores finalizeMessageHash (in transient storage). The Arbitrator later checks this hash against the expected source gateway, value, and message.
The contract never cleared finalizeMessageHash after use. Transient storage persists for the entire transaction, so a second claim in the same transaction could reuse the first claim’s already-set (and still-valid) hash without triggering a fresh authenticated callback.
Caller-controlled target and calldata in the claim path
The claim function accepted a user-supplied target address and calldata. This let the attacker point the second claim at the Ethereum Gateway and supply sendMessage() calldata that invoked a privileged syncBatchRoot update with an attacker-chosen root.
Resulting attack flow (same transaction):
First claim: legitimate Linea message → sets finalizeMessageHash and forwards normally.
Second claim: reuses the stale hash for verification while forcing the trusted Arbitrator to call the Ethereum Gateway with malicious root-update calldata.
The zkLink contract accepted the attacker-controlled root because it came from the authorized Gateway.
Attacker then submitted matching withdrawal proofs against the forged root and drained funds.
@EthSecurity1
Этот каналENОткрыть в TelegramКанал