Closed code423n4 closed 1 year ago
0xSorryNotSorry marked the issue as primary issue
Wrong analysis, our executor holds any ETH we need for proposal execution. We haven't needed execute functions to be payable to date, after ~2 years of successful operation.
eladmallel marked the issue as sponsor disputed
gzeon-c4 marked the issue as unsatisfactory: Invalid
Lines of code
https://github.com/nounsDAO/nouns-monorepo/blob/718211e063d511eeda1084710f6a682955e80dcb/packages/nouns-contracts/contracts/governance/NounsDAOExecutor.sol#L173
Vulnerability details
Impact
All transactions with Ether to the
NounsDAOExecutor::executeTransaction()
function will fail because it does not have thepayable
keyword.Proof of Concept
The
executeTransaction()
function of theNounsDAOExecutor
contract does not have the payable keyword so every transaction with Ether to the function will fail.The
executeTransaction()
has call value without a payable keyword.Tools Used
Manual Review
Recommended Mitigation Steps
Consider adding the
payable
keyword to theexecuteTransaction()
function.Assessed type
Payable