Lucene search
+L

290 matches found

Code423n4
Code423n4
•added 2022/09/15 12:00 a.m.•9 views

Its possible to underflow votes using delegate and delegateBySig on ERC721Votes.sol

Lines of code Vulnerability details Impact Is possible to generate an underflow on ERC721Votes.solL216 mainly because its wrapped in an unchecked bracked. prevTotalVotes could be lower than amount so this will generate and underflow; writeCheckpointfrom, nCheckpoints, prevTotalVotes, prevTotalVot...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/09/15 12:00 a.m.•11 views

Overflow on _moveDelegateVotes function

Lines of code Vulnerability details Impact A malicious actor can overflow his number of votes Proof of Concept 0. Alice and Kane each have an NFT token 1. Alice uses delegate function to delegate the vote to Kane 2. Kane uses transferFrom to transfer his token to the address Alice 3. Alice uses...

7.2AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/09/15 12:00 a.m.•13 views

User can generate unlimited votes through faulty transfer logic

Lines of code Vulnerability details Impact When tokens are transferred from one user to another, votes should be moved from the delegatee of the sender to the delegatee of the receiver. Instead, they are transferred from the sender to the receiver. Because the moveDelegateVotes function is...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/08/27 12:00 a.m.•39 views

Inconsistent implementation of delegate and delegateBySig leads to inconsistent checkpoints and numCheckpoints modification.

Lines of code Vulnerability details Impact User can delegate to delegatee by calling delegeate and if the parameter delegatee is address0, it will be replaced with the msg.sender. function delegateaddress delegatee public if delegatee == address0 delegatee = msg.sender; return delegatemsg.sender,...

7AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/08/15 12:00 a.m.•15 views

Functions quitLock and delegate fundamentally change game theory of VoteEscrow

Lines of code Vulnerability details Impact Without delegation it is not possible to remove voting power before the end of a lock. Function quitLock now makes this possible, but it does not just affect the user who quits the lock. Any votes that are delegated to them are temporarily lost from the...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/08/07 12:00 a.m.•23 views

Double spend in execute function from the MIMOProxy

Lines of code Vulnerability details There is batch function in MIMOProxy smart contract. The function is inherited from the BoringBatchable contract. The function accept an array of bytes - call parameters, and do delegate call to addressthis for each of the call parameters. There also is execute...

7.1AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/08/07 12:00 a.m.•37 views

Overwriting storage slots in MIMOProxy

Lines of code Vulnerability details Impact The MIMOProxy allows you to delegate a call to another contract from a permission of owner. With a delegate call, the entire storage layout is kept the same as it is on MIMOProxy. It means that if the delegate call will be made for smart contract with...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/08/07 12:00 a.m.•21 views

[H3] Persisted msg.value in a loop of delegate calls can be used to drain ETH from your proxy

Lines of code Vulnerability details Impact msg.value in a loop can be used to drain proxy funds PoC While BoringBatchable is out of the scope, this bug affects seriously MIMOProxy as it inherits. Some time ago I read a report about an auditor called samczsung . I believe that you are having the...

6.6AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/08/07 12:00 a.m.•96 views

## [H2] Multicall can be called by a malicious contract after executing a malicious delegatecall

Lines of code Vulnerability details Impact Multicall can be called though a malicious delegate call controlling all function in a vault. PoC This is related to a bug I had reported MIMOProxy can be PWNED by a malicious delegate call where I explain that storage variables can be set in delegate...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/08/07 12:00 a.m.•13 views

[H1] MIMOProxy can be PWNED by malicious delegate call

Lines of code Vulnerability details Impact PBR proxy owner change protection can bypassed / DoS PoC PRBProxy has a protection to prevent malicious delegatecall to overwrite owner. function executeaddress target, bytes calldata data public payable override returns bytes memory response ... ... //...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/08/07 12:00 a.m.•17 views

Incorrect implementation of access control in MIMOProxy:execute

Lines of code Vulnerability details Description There is a function execute in MIMOProxy smart contract. The function performs a delegate call to the user-specified address with the specified data. As an access control, the function checks that either it was called by the owner or the owner has...

7.1AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/08/07 12:00 a.m.•16 views

Delegate call can manipulate minGasReserve and the _permissions mapping.

Lines of code Vulnerability details Impact When the proxy delegatecalls the target contract the target contracts code runs in the proxy’s storage. This means the target code has access to all of proxy’s storage including internal mappings. As a result, the target contracts code can manipulate...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/08/07 12:00 a.m.•16 views

QA Report

Prevent possible future storage collisions The target action contracts of MIMOProxy.sol use storage slot 0 for immutable addresses, which doesn't currently pose an issue; however, if in future additional contracts are added which allow this slot in storage to be modified then it could open the...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/08/01 12:00 a.m.•13 views

delegate will revert for tokenIds which have no prior checkpoints

Lines of code Vulnerability details Impact For a tokenId without a prior checkpoint, calling VoteEscrowDelegation.delegate would revert due to an underflow in nCheckpoints nCheckpoints variable in uint256 nCheckpoints = numCheckpointstoTokenId; is set to 0 since there was no prior numCheckpoints...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/08/01 12:00 a.m.•23 views

Possible to delegate same token

Lines of code Vulnerability details Impact It's possible to call delegatetokenId1, tokenId2 using the same token tokenId1 multiple times. The previous delegated value isn't deleted, and all delegations stack up. This way tokenId2 will have all these tokens as delegated:...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/08/01 12:00 a.m.•18 views

QA Report

VoteEscrowDelegation.sol delegates mapping is not updated in removeDelegation. It is updated in function delegate, but after a call to removeDelegation the mapping still contains the token that it was delegated to. --- The text was updated successfully, but these errors were encountered: All...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/08/01 12:00 a.m.•14 views

Index error

Lines of code Vulnerability details Impact delegate will not work due to the index error. Proof of Concept VoteEscrowDelegation.writeCheckpoint will be reverted when nCheckpoints == 0. numCheckpoints can be increased only when nCheckpoints == 0. So numCheckpoints will always be zero for any token...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/08/01 12:00 a.m.•21 views

Impossible to delegate

Lines of code Vulnerability details Impact It's impossible to delegate to a token, because the first delegation will always revert. Consider there's no delegation so far, meaning that every token will have numCheckpointstoken = 0. When calling delegate, we will have nCheckpoints = 0 and the call...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/08/01 12:00 a.m.•16 views

Able to delegate multiple times with the same tokenId

Lines of code Vulnerability details The delegate function in VoteEscrowDelegation.sol is used to delegate voting power from one tokenId to another. The tokenId is added to the toTokenId's delegatedTokenIds array which contains all tokenIds that have delegated to the toTokenId. The amount of votes...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2022/07/14 12:00 a.m.•13 views

merkleRoot can be set by delegatecall(), violate setMerkelRoot()

Lines of code Vulnerability details Impact When delegatecall to target, the context is on Caller contract, all state change logics reflect on Caller’s storage. If the Vault contract calls the malicious contract by function execute,the important storage variable merkleRoot can be modified. Accordi...

7AI score
SaveExploits0
Rows per page
Query Builder