Axelar Network v2 contest - 0xf15ers's results

Decentralized interoperability network.

General Information

Platform: Code4rena

Start Date: 29/07/2022

Pot Size: $50,000 USDC

Total HM: 6

Participants: 75

Period: 5 days

Judge: GalloDaSballo

Total Solo HM: 3

Id: 149

League: ETH

Axelar Network

Findings Distribution

Researcher Performance

Rank: 59/75

Findings: 1

Award: $56.13

🌟 Selected for report: 0

🚀 Solo Findings: 0

Lines of code

https://github.com/code-423n4/2022-07-axelar/blob/9c4c44b94cddbd48b9baae30051a4e13cbe39539/contracts/deposit-service/ReceiverImplementation.sol#L86 https://github.com/code-423n4/2022-07-axelar/blob/9c4c44b94cddbd48b9baae30051a4e13cbe39539/xc20/contracts/XC20Wrapper.sol#L63

Vulnerability details

Impact

  • The use of the deprecated transfer() function for an address will inevitably make the transaction fail when:
  • The claimer smart contract does not implement a payable function.
  • The claimer smart contract does implement a payable fallback which uses more than 2300 gas unit.
  • The claimer smart contract implements a payable fallback function that needs less than 2300 gas units but is called through proxy, raising the call's gas usage above 2300.

Proof of Concept

function receiveAndUnwrapNative(address payable refundAddress, address payable recipient) external {
  .......................
    IWETH9(wrappedTokenAddress).withdraw(amount);
    recipient.transfer(amount);
    .........
  }

Tools Used

  • manual analysis
  • Use call()

#0 - GalloDaSballo

2022-08-03T21:19:14Z

See #203

#1 - re1ro

2022-08-23T00:29:51Z

Duplicate of #4

AuditHub

A portfolio for auditors, a security profile for protocols, a hub for web3 security.

Built bymalatrax © 2024

Auditors

Browse

Contests

Browse

Get in touch

ContactTwitter