MorpheusAI

MorpheusAI
Foundry
22,500 USDC
View results
Submission Details
Severity: low
Invalid

Functions calling tokens with transfer hooks are missing reentrancy guards

Summary

Functions that call contracts or addresses with transfer hooks should use reentrancy guards for protection.
Even if these functions adhere to the check-effects-interaction best practice, absence of reentrancy guards can expose the protocol users to read-only reentrancies.
Without the guards, the only protective measure is to block-list the entire protocol, which isn't an optimal solution.

Vulnerability Details

File: contracts/Distribution.sol
/// @audit function `_stake()`
204: IERC20(depositToken).safeTransferFrom(_msgSender(), address(this), amount_);
/// @audit function `_withdraw()`
278: IERC20(depositToken).safeTransfer(user_, amount_);
/// @audit function `bridgeOverplus()`
327: IERC20(depositToken).safeTransfer(l1Sender, overplus_);
Updates

Lead Judging Commences

inallhonesty Lead Judge
over 1 year ago
inallhonesty Lead Judge over 1 year ago
Submission Judgement Published
Invalidated
Reason: Incorrect statement

Support

FAQs

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