Escher contest - shark's results

A decentralized curated marketplace for editioned artwork.

General Information

Platform: Code4rena

Start Date: 06/12/2022

Pot Size: $36,500 USDC

Total HM: 16

Participants: 119

Period: 3 days

Judge: berndartmueller

Total Solo HM: 2

Id: 189

League: ETH

Escher

Findings Distribution

Researcher Performance

Rank: 113/119

Findings: 1

Award: $0.61

🌟 Selected for report: 0

🚀 Solo Findings: 0

Lines of code

https://github.com/code-423n4/2022-12-escher/blob/main/src/minters/LPDA.sol#L105

Vulnerability details

Impact

In LPDA.sol, using transfer() may cause ETH to be un-retrievable if the msg.sender is a smart contract. ETH can potentially be lost if:

  • the contract does not implement a payable fallback function
  • the fallback function uses more than 2300 gas units

Proof of Concept

File: LPDA.sol Line 105

        payable(msg.sender).transfer(owed);

Use call() with a success check instead of transfer().

For example:

(bool success, ) = payable(msg.sender).call{ value: owed }('');
require(success, "Transfer failed");

#0 - c4-judge

2022-12-10T00:29:56Z

berndartmueller marked the issue as duplicate of #99

#1 - c4-judge

2023-01-03T12:46:21Z

berndartmueller marked the issue as satisfactory

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