TGViewer
Noobing Security Research Noobing Security Research @web3securityresearch · 278 subscribers
Post #67 677
Взлом Cross Curve Bridge на 1.4кк$

Пост основан на разборе атаки от QuillAudits, статье о взломе от MixBytes и гитхабе Axelar GMP SDK

Еще пару недель назад мне казалось, что атаки на мосты ушли в прошлое, но реальность говорит о другом.

Атака была направлена на контракт ReceiverAxelar, интегрированный с Axelar. Сам контракт я не нашел, но он наследуется от AxelarValuedExpressExecutable, в нем есть функция expressExecute(), являющаяся публичной и не имеющая ограничений по доступу

    function expressExecute(
bytes32 commandId,
string calldata sourceChain,
string calldata sourceAddress,
bytes calldata payload
) external payable virtual {
if (gateway().isCommandExecuted(commandId)) revert AlreadyExecuted();

address expressExecutor = msg.sender;
bytes32 payloadHash = keccak256(payload);

emit ExpressExecuted(commandId, sourceChain, sourceAddress, payloadHash, expressExecutor);

_setExpressExecutor(commandId, sourceChain, sourceAddress, payloadHash, expressExecutor);

{
(address tokenAddress, uint256 value) = contractCallValue(sourceChain, sourceAddress, payload);
_transferFromExecutor(expressExecutor, tokenAddress, value);
}

_execute(commandId, sourceChain, sourceAddress, payload);
}


Атакующий сгенерировал commandId, подделал sourceChain и sourceAddress, чтобы вызов выглядел легитимным.
Зловредный payload нёс в себе информацию о целевом контракте, количестве токенов (почти миллиард $EYWA) и инструкции по трансферу на свой адресс,

Единственная проверка, которую осуществляет expressExecute() это проверка на то, исполнялся ли такой commandId, а проверки внутри _execute() проверяли только соответствуют ли sourceChain и sourceAddress друг другу. Такая проверка не давала какого-либо эффекта, поскольку эти данные предоставляет инициатор транзакции.

Кроме того, сonfirmation threshold был установлен на значении 1, что означает очень быструю конфирмацию, ведь требуется одобрение только одного валидатора. Обычно транзакции должны пройти validation process от Axelar Gateway, но для экспресс функции эта часть пропускалась.

Подводя итог, атака была релизована через General Message Passing - GMP технологию, которая является основополагающей при бридже, подробнее про то как это устроено можно почитать здесь. Ошибка содержалась в имплементации.

https://t.me/web3securityresearch
  • ❤ 7
More from @web3securityresearch
  1. Sep 22, 2026Прочитал лекцию про атаки на память, оставлю слайды и здесь
  2. Sep 10, 2026Post #100
  3. Aug 27, 2026я бы рад писать короче, но тема очень широкая. Сегодня статья про HMAC-подписи записей аге…
  4. Aug 27, 2026Post #98
  5. Aug 18, 2026Post #97
  6. Aug 12, 2026Исследователи нашли первый подробно задокументированный, почти автономный, взлом государст…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →