Lucene search
+L
Code423n4Recent

10190 matches found

Code423n4
Code423n4
•added 2023/07/14 12:00 a.m.•12 views

user with ADDEXTENSIONS and CHANGEEXTENSIONS will remove extension unintentional

Lines of code Vulnerability details Summary Adding extension use 4 bytes function selector to add new extension, and if user with ADDEXTENSIONS permission also has CHANGEEXTENSIONS permission and wants to add new extension and there is an extension with that function selector, extension will be...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/07/14 12:00 a.m.•12 views

Missing access control in mintYieldFee allowing everybody to mint the available YieldFee to himself

Lines of code Vulnerability details Impact Everybody can call the mintYieldFee function in the Vault, when there is yieldFeeTotalSupply available and mint shares to himself for free, which latter results in stealing funds form the Vault. if this is a desired behavior, which it shouldn't based on...

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

Users with DEPLOY permission can grief each other through CREATE2

Lines of code Vulnerability details Bug Description In ERC725XCore.sol, the deployCreate2 function uses Openzeppelin's Create2.deploy to deploy new contracts: ERC725XCore.solL253-L267 function deployCreate2 uint256 value, bytes memory creationCode internal virtual returns bytes memory newContract...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/07/14 12:00 a.m.•20 views

Balance invariant between individual and total twabs can be broken

Lines of code Vulnerability details Impact An edge case in the TwabController.transferBalance can cause total balance for a vault account to decrease although it did not actually decrease. This will cause the sum of individual delegateBalances for a vault to be greater than the registered total f...

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

Allowed calls in LSP6KeyManager doesn't allow calls with empty calldata

Lines of code Vulnerability details Bug Description Whenever a controller attempts to call a LSP0 account's execute function without the relevant SUPER permissions, LSP6ExecuteModule will check that the call is one of the whitelisted allowed calls. If the controller is trying to perform a call wi...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/07/14 12:00 a.m.•10 views

No access control for mintYieldFee()

Lines of code Vulnerability details Impact Anyone can mint the yield fee using mintYieldFee. Proof of Concept mintYieldFee mints the shares for yield fee. function mintYieldFeeuint256 shares, address recipient external requireVaultCollateralized; if shares yieldFeeTotalSupply revert...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/07/14 12:00 a.m.•10 views

Potential Reversion in Transfer due to LSP1 Interface Support Check

Lines of code Vulnerability details Impact The transfer function in LSP7DigitalAssetCore & LSP8DigitalAssetCore includes a mandatory hook, notifyTokenSender, which verifies if the sender supports INTERFACEIDLSP1. However, if a token owner who initially implemented LSP1 interface ceases to support...

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

Possible centralization issue in PrizePool.closeDraw

Lines of code Vulnerability details The winning random number is chosen by DrawManager, which will lead to centralization risk. Despite haventt really deep dive in codebase of this issue, but if DrawManager ,can somehow calculate which random number can make their controlled address is winner wit...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/07/14 12:00 a.m.•12 views

Sponsor function allows voiding some elses chance to win

Lines of code Vulnerability details Impact Anyone can delegate someone elses balance to the sponsorship address, increasing their own likelihood of winning, while voiding the victims chance. Proof of Concept The issue is in the call-chain starting with Vault.sponsor: //Vault function sponsoruint2...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/07/14 12:00 a.m.•22 views

Adding balance to accumulator does not depend on the current drawId, while documentation says it does

Lines of code Vulnerability details Impact In documentation protocol states that : To compute the allocated contribution for a draw d we'd compute the integral of curve cd=−t∗lnα∗α^d from lastdraw dold to dnew, and which is equal to −t∗ α^dold + t∗ α^dnew. Which clearly shows that contribution on...

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

_getNextObservationIndex() Random use of timestamp to determine the currentTime can be manipulated bacause of dangerous strict equalities

Lines of code Vulnerability details Impact The use of strict equalities can be easily manipulated by an attacker. Miners may attempt to manipulate the timestamp. Proof of Concept File: TwabLib.sol Code Link: Code: if newestObservation.timestamp == currentTime File: TwabLib.sol Code Link: Code: if...

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

Potential Ownership Issues Due to External Calls in LSP0ERC725AccountCore's execute and executeBatch Functions

Lines of code Vulnerability details Impact In the LSP0ERC725AccountCore contract, the execute and executeBatch functions use the LSP20CallVerification standard. In some cases, you may need to use verifyCallAfter. However, because an external call is made between verifyCall and verifyCallAfter, th...

7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/07/14 12:00 a.m.•19 views

Two-step ownership transfer process in LSP0ERC725AccountCore can be bypassed

Lines of code Vulnerability details Bug Description To transfer ownership of the LSP0ERC725AccountCore contract, the owner has to call transferOwnership to nominate a pending owner. Afterwards, the pending owner must call acceptOwnership to become the new owner. When called by the owner,...

7.2AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/07/14 12:00 a.m.•19 views

Potential Reversion in Transfer due to LSP1 Interface Support Check

Lines of code Vulnerability details SORRY I HAVFE PREVIOUSLY SUBMITTED THIS ISSUE WITHOUT THE FIX... FIRST TIME WARDEN FORGIVE ME Impact The transfer function in LSP7DigitalAssetCore & LSP8DigitalAssetCore includes a mandatory hook, notifyTokenSender, which verifies if the sender supports...

7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/07/14 12:00 a.m.•10 views

Incorrect Interface ID for LSP0

Lines of code Vulnerability details Impact The interface ID stated for LSP0 in LSP0Constants.sol and LIP-0 is 0x3e89ad98, which will affect related logics. Proof of Concept According to LIP-0, this ID is derived from the XOR of the following: selector of batchCalls IDs of the following standards:...

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

Using supportsERC165InterfaceUnchecked() might break LSP functionality for certain contracts

Lines of code Vulnerability details Bug Description Throughout the codebase, the protocol uses the supportsERC165InterfaceUnchecked function from Openzeppelin's ERC165Checker.sol to check for the support of ERC-165 interface IDs. However, supportsERC165InterfaceUnchecked only checks if the call t...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/07/14 12:00 a.m.•12 views

Vault.mintYieldFee FUNCTION CAN BE CALLED BY ANYONE TO MINT Vault Shares TO ANY RECIPIENT ADDRESS

Lines of code Vulnerability details Impact The Vault.mintYieldFee external function is used to mint Vault shares to the yield fee recipient. The function is an external function and can be called by anyone since there is no access control. The function will revert only under following two...

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

Missing External Transfer Function In Vault

Lines of code Vulnerability details Impact Balances of TwabController for a vault can not be transferred. Proof of Concept The Vault implements an internal transfer function meant to be used to transfer balances within the TwabController: function transferaddress from, address to, uint256 shares...

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

Unintended or Malicious Use of Prize Winners' Hooks

Lines of code Vulnerability details Impact The setHooks function in Vault.sol allows users to set arbitrary hooks, potentially enabling them to make external calls with unintended consequences. This vulnerability could lead to various unexpected behaviors, such as unauthorized side transactions...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/07/14 12:00 a.m.•19 views

_totalWithdrawn VALUE DOES NOT INCLUDE THE _fee AMOUNT THUS INTRODUCING ACCOUNTING ERROR

Lines of code Vulnerability details Impact In the PrizePool.ClaimPrize function is used to claim the rewards of the verified winner. Here when sending the Prize amount to the winner a fee amount is deducted from it as shown below: uint256 amount = tierLiquidity.prizeSize - fee; And this amount is...

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

IF THE UNDERLYING ASSET IS A FEE ON TRANSFER TOKEN IT COULD BREAK THE INTERNAL ACCOUNTING OF THE VAULT

Lines of code Vulnerability details Impact The Vault.deposit function is used by the users to deposit assets to the vault and mint vault shares to the recipient address. The amount of assets are transferred to the Vault as follows: SafeERC20.safeTransferFrom asset, caller, addressthis,...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/07/14 12:00 a.m.•33 views

abi.encodePacked() collision due to dynamic types usage that could lead to

Lines of code Vulnerability details Impact The use of abi.encodePacked could lead to collision due to the dynamic types usage. Through abi.encodePacked, Solidity supports a non-standard packed mode where: Types shorter than 32 bytes are neither zero padded nor sign extended and Dynamic types are...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/07/14 12:00 a.m.•19 views

Unsecure and predictable random number generation in closeDraw.winningRandomNumber_()

Lines of code Vulnerability details Impact Unsecure and predictable random number generation in closeDraw.winningRandomNumber can lead to external influence by malicious attackers. Leading to undermining of the fairness and security and unpredictability of the draw function. Both the timestamp an...

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

initialize function can be front run

Lines of code Vulnerability details Impact Initialize function have the potential of front running by a malicious actor. An attacker can front-run the deployer and takeover the contract by setting itself as the owner in the Contract. Taking ownership will result in carrying out malicious acts tha...

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

FIRST DEPOSITOR ATTACK IS PRESENT IN THE Vault.sol CONTRACT

Lines of code Vulnerability details Impact The Vault.deposit function is vulnerable to first depositor attack. It can be described as follows: A malicious early depositor can deposit with 1 wei of asset token as the first depositor of the Vault, and get 1 wei of shares. Then the first depositor c...

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

Permit does not revert for tokens that do not implement it.

Lines of code Vulnerability details Impact Callers should not rely on permit to revert for arbitrary tokens especially if permit is used as a security check. Tokens which do not revert on permit either do not implement it or have a non-reverting fallback function. Most notable among them is WETH...

7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/07/14 12:00 a.m.•17 views

An identical vault can be deployed with existing values, the logic controlling this is missing

Lines of code Vulnerability details VaultFactory. The deployVault function deploys a new vault with 10 arguments, but does not check if there is a vault already deployed with the same arguments This seems to have been preferred as a design, but malicious people with copy safes can direct users to...

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

withdrawReserve will revert when withdrawing tokens with on chain tx fees

Lines of code Vulnerability details Impact Function will revert when reserve is equal to amount, when the token being transferred is a fee on transfer token. Proof of Concept function withdrawReserve address to, uint104 amount external onlyDrawManager function withdrawReserve address to, uint104...

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

Attacker can steal vault funds through the deposit function.

Lines of code Vulnerability details Impact In the deposit function, a check is made to see if the amount of assets being deposited by the user is greater than the amount of assets the vault currently holds. The vault then transfers the difference between the assets being deposited and the vault’s...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/07/14 12:00 a.m.•9 views

Incorrect amount of tokens is transferred before updating the accumulator and emitting the ContributePrizeTokens event

Lines of code Vulnerability details Impact An attacker can call the contributePrizeTokens function with a lower amount of tokens than claimed, misleading the contract to update the accumulator and emit the event based on the incorrect amount. As a result, the prize pool's internal state will be...

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

Vault.sponsor may take away the prize chance from the receiver.

Lines of code Vulnerability details Impact TwabController.delegateBalance is related to the probability to get the prize, and Vault.sponsor can make the others' delegateBalance to 0. A malicious user can send a small amount of assets to every depositor and be the only prize taker. Proof of Concep...

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

_deployCreate()/_deployCreate2() will not work on ZKSync Era

Lines of code Vulnerability details Bug Description In the contest's Scoping Details, the sponsor states that Universal Profiles might eventually be deployed across multiple chains: Is it multi-chain? LUKSO itself is not a multi-chain. The lsp-smart-contracts are initially intended to be used on...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/07/14 12:00 a.m.•9 views

The exchange rate is decreasing in Vault

Lines of code Vulnerability details Impact The exchange rate of the vaults will be decreasing and this will block core functionalities. Proof of Concept The exchange rate of the Vault is calculated as follows: minwithdrawableAssets, totalSupplyToAssets assetUnit / totalSupplyAmount =...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/07/14 12:00 a.m.•12 views

LSP8CompatibleERC721's approve() deviates from ERC-721 specification

Lines of code Vulnerability details Bug Description The LSP8CompatibleERC721 contract is a wrapper around LSP8 that is meant to function similarly to ERC-721 tokens. One of its implemented functions is ERC-721's approve: LSP8CompatibleERC721.solL155-L158 function approveaddress operator, uint256...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/07/14 12:00 a.m.•7 views

All Ether sent to LSP0ERC725Account will be permanently locked

Lines of code Vulnerability details Impact All Ether sent to LSP0ERC725Account will be permanently locked because it inherits the receive function from the LSP0ERC725AccountCore contract but does not have a withdraw function. Proof of Concept All Ether sent to LSP0ERC725Account will be permanentl...

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

No validation check for whether the msg.value is not less than the value parameter in the execute function

Lines of code Vulnerability details Impact Users can send msg.value lesser than the supplied value parameter leading to incorrect accounting. Proof of Concept There is no check for whether msg.value = value in the execute function of the LSP0ERC725AccountCore contract. LSP0ERC725Account is in sco...

7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/07/14 12:00 a.m.•12 views

Malicious Yield Vault could deny Pool Together withdrawing assets

Lines of code Vulnerability details Impact Since vaults can be created by anyone as long as they provide an ERC-4626 compliant yield source, an attacker could set up a malicious ERC-4626 contract and set that as the yield source for a newly created Vault. The attacker could then have the maliciou...

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

_amountOut is representing assets and shares at the same time in the liquidate function

Lines of code Vulnerability details Impact In the liquidate function from the Vault contract, the input argument amountOut is used as if it was representing a value of asset amount and share amount at the same time which is impossible a there a conversion rate between them, this error will make...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/07/14 12:00 a.m.•11 views

possible revert due to improper subtraction in _extendableMsgData() of LSP17Extension.sol

Lines of code Vulnerability details Impact in extendableMsgData of LSP17Extension.sol there is an arithmetic calculation msg.data:msg.data.length - 52; msg.data.length may be smaller than 52 in some instances. this can cause reverts in solidity Proof of Concept function extendableMsgData internal...

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

mintYieldFee function does not check for the maxMint amount.

Lines of code Vulnerability details Impact Theoretically, it is possible to mint more than the maxMint amount using the mintYieldFee function in the Vault contract. Proof of Concept The functions in Vault contract like mint, mintWithPermit call the beforeMint function which checks whether shares...

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

Lack of check for zero address in the function _transferOwnership before transferring ownership

Lines of code Vulnerability details Impact The absence of a check for the zero address address0 when transferring ownership can lead to unintended consequences and potential fund loss. If the contract allows transferring ownership to the zero address address0, it effectively means relinquishing...

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

Same proposer can make duplicate proposals

Lines of code Vulnerability details Impact A proposer can continuously create new proposals, even if they are redundant or unnecessary. This can overload the system and make it difficult for other participants to navigate through legitimate proposals. Proof of Concept In the propose function, the...

7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/07/13 12:00 a.m.•15 views

[M-05] NounsDAOV3DynamicQuorum.quorumVotes(): Wrong totalSupply parameter used to calculated dynamic votes thresholds

Lines of code Vulnerability details Impact and Details It is stated in NounsDAOV3Fork.adjustedTotalSupply that the total supply of nouns exclude those in treasury and escrow contract. In NounsDAOV3Proposals.isDefeated, the dynamic threshold is calculated based on adjustedTotalSupply at the time o...

6.6AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/07/13 12:00 a.m.•12 views

A proposer can initiate several proposals at once through delegations

Lines of code Vulnerability details Impact Within the NounsDAOV3Proposals' propose function, a proposer is only permitted to have one active proposal at a time. Despite this, a proposer has the capability to delegate to various accounts, enabling these accounts to propose on their behalf. Proof o...

6.6AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/07/13 12:00 a.m.•7 views

Anyone can cancel a future proposal

Lines of code Vulnerability details Impact Anyone can call NounsDAOLogicV3cancel with a future proposalIdproposalIdds.proposalCount, which would prevent the proposal with that proposalId from gaining votes, getting queued, or getting executed. So adversary can easily prevent any proposal which do...

7.1AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/07/13 12:00 a.m.•12 views

The NounsDAOLogicV3.sol contract has a receive function but no withdraw function.

Lines of code Vulnerability details Impact All Ether sent to the NounsDAOLogicV3.sol will be locked in the contract because it implements a receive function without a withdraw function. Proof of Concept The NounsDAOLogicV3.sol contract implements the receive function but does not have a withdraw...

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

Contract can be initialized with arbitrary or non functional address

Lines of code Vulnerability details Impact An attacker can pass invalid addresses to the initialize function, potentially leading to unexpected behavior and security vulnerabilities in the contract Proof of Concept The initialize function is intended to be called only once to initialize the...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/07/13 12:00 a.m.•10 views

cancelSig will not completely cancel signatures due to malleability vulnerabilities

Lines of code Vulnerability details Impact The current version of openzeppelin contracts has a high risk of vulnerability about signature malleability attack: OpenZeppelin/openzeppelin-contracts3610. So if the signer only cancel one signature, the malicious proposer can still extend a fully valid...

6.5AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/07/13 12:00 a.m.•17 views

Potential for Permanent Lock of Funds in NounsDAOExecutorV2 Contract

Lines of code Vulnerability details Impact The NounsDAOExecutorV2 contract has a potential vulnerability where Ether or ERC20 tokens could become permanently locked in the contract. This could occur if funds are sent to the contract by someone other than the admin, or if the admin loses access to...

7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/07/13 12:00 a.m.•8 views

delegateTo Function of NounsDAOProxyV2 Contract can execute arbitrary code and modify the storage

Lines of code Vulnerability details Impact The delegateTo function delegates execution to another contract using the delegatecall opcode without performing any input validation or checking the returned success flag, the problem is The delegated contract can execute arbitrary code and modify the...

7.8AI score
SaveExploits0
Total number of security vulnerabilities10190