Unsafe transferFrom used in the membership factory can break the core logic of the protocol.
On some ERC-20 tokens, the transferFrom()
will return false
on failure instead of reverting a transaction, a good example of such a token is ZRX: Etherscan code. The transferFrom, which is used throughout the MembershipFactory, is vulnerable to unexpected behaviour. If a currency that does not revert on** transferFrom is used, someone could join a DAO without even paying the fees. **
Medium.
Manual review.
Use OpenZeppelin's safeERC20 https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/utils/SafeERC20.sol
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.