DittoETH

Ditto
DeFiFoundryOracle
55,000 USDC
View results
Submission Details
Severity: low
Invalid

Empty receive() function does not authorize requests

Summary

The empty receive() function lack proper access control, potentially exposing the contract to unauthorized requests and the loss of funds. To enhance security, these functions should include appropriate access control checks or provide a means to recover unused Ether.

Vulnerability Details

https://github.com/Cyfrin/2023-09-ditto/blob/main/contracts/bridges/BridgeReth.sol#L37

37 receive() external payable {}

These functions do not include any access control checks, which means that anyone can send Ether to the contract without proper authorization or any means to recover the funds. This lack of access control poses a risk as it can lead to the loss of Ether with no mechanism to retrieve it.

Impact

Anyone can send Ether to the contract without proper authorization or checks.
Users who send Ether to the contract may not have any way to retrieve their funds, leading to a potential loss of funds.

Tools Used

Manual Review

Updates

Lead Judging Commences

0xnevi Lead Judge
almost 2 years ago
0xnevi Lead Judge almost 2 years ago
Submission Judgement Published
Invalidated
Reason: Users sending ETH/native tokens

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.