Lucene search
+L
Code423n4Recent

10190 matches found

Code423n4
Code423n4
•added 2023/08/28 12:00 a.m.•33 views

Error of computation break the LpTokens supply, causes users to lose funds and make functions using _getUtilityFinalLp() broken.

Lines of code Vulnerability details Impact withdrawGivenOutputAmount and withdrawGivenInputAmount functions doesn't revert when balance of tokenX/tokenY = 0 and create an offset between reserve tokens and LP total supply. This lead to unwanted behaviors for the next operations on the protocol...

6.6AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/08/28 12:00 a.m.•16 views

Missing _checkAmountWithBalance check in deposit functions

Lines of code Vulnerability details Impact When computing the input or output amount of a swap checkAmountWithBalance is called to ensure that precision errors do not occur and that the pool does not lose any value. However, checkAmountWithBalance is not called in depositGivenInputAmount and...

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

Potential pools unavailable

Lines of code Vulnerability details Impact The function getPointGivenXandUtility may always rollback and report an error CurveError. Proof of Concept According to the formula y = k^2 u^2/aku + x - bku, it is possible to find the other coordinates of a point on the curve when given a u and a...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/08/28 12:00 a.m.•23 views

Swap Tokens with Fee Consideration and Balance Checks

Lines of code Vulnerability details Impact Detailed description of the impact of this finding. In the swap function, the discrepancy lies in the usage of the variable specifiedAmount instead of roundedSpecifiedAmount when checking the final balance in the swap function. if specifiedToken ==...

7.1AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/08/28 12:00 a.m.•29 views

Lack of balance checks in the depositGivenInputAmount function

Lines of code Vulnerability details Impact Lack of balance checks in the depositGivenInputAmount function can lead to various unpredictable consequences due to the breach of requirement "The pool's ratio of y to x must be within the interval MINM, MAXM". Proof of Concept The depositGivenInputAmou...

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

Upgraded Q -> 2 from #112 [1693238992728]

Judge has assessed an item in Issue 112 as 2 risk. The relevant finding follows: A profile can follow itself by receiving a pre-upgrade followNFT and then using the batchMigrateFollows function." --- The text was updated successfully, but these errors were encountered: All reactions...

7.1AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/08/28 12:00 a.m.•39 views

Missing balance checks in _reserveTokenSpecified()

Lines of code Vulnerability details Impact There is a missing balance check in reserveTokenSpecified, which allows reserve tokens to be withdrawn or deposited into illegal balances, which may cause subsequent transactions to revert. It also allows the pool to be killed by withdrawing all balances...

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

Claiming prizes will be bricked if prize periods are not aligned with twab periods

Lines of code Vulnerability details Comments The previous implementation allowed a malicious user to keep updating their balances provided the previous observation fell within the same period. As such, if a draw ends part way through a period, the user would be able to manipulate their average...

6.5AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/08/26 12:00 a.m.•34 views

Number of prize tiers may never scale due to aggressive new algorithm

Lines of code Vulnerability details Comments This issue is very similar to M-14 but covers another edge case where the threshold check is not performed when there are currently 14 prize tiers and at least 1 canary tier is claimed. This is due to an early return of MAXIMUMNUMBEROFTIERS. Mitigation...

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

M-22 Unmitigated

Lines of code Vulnerability details Comments The underlying yield vaults used by the V5 vaults usually round down shares received when depositing. As a result, if the Vault deposits to an underlying yield vault that has already issued shares, it is possible that a deposit could be rounded down to...

6.7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/08/24 12:00 a.m.•31 views

TwabController::_periodEndOnOrAfter() function returns the period start instead of the period end

Lines of code Vulnerability details Original Issue M-03 - TwabLib::getTwabBetween can return innacurate balances if startTime and endTime aren't safely bounded Details The original finding is about the lack of a mechanism to validate if the startTime and endTime are safely bounded, otherwise, if...

6.5AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/08/24 12:00 a.m.•21 views

M-02 - Malicious users can set their hooks to contracts that will always revert, causing Claimers to get their tx to claim the user's prizes to be reverted

Lines of code Vulnerability details Title M-02 - Malicious users can set their hooks to contracts that will always revert, causing Claimers to get their tx to claim the user's prizes to be reverted Original Issue M-02 - Unintended or Malicious Use of Prize Winners' Hooks Details The previous...

7.2AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/08/24 12:00 a.m.•38 views

Loss of precision in the YieldVault causes DoS when depositing from the Vault

Lines of code Vulnerability details Title Loss of precision in the YieldVault causes DoS when depositing from the Vault Original Issue M-22 - Loss of precision leads to undercollateralized Details The original demonstrates how the Vault could fall into undercollateralization mode if the YieldVaul...

6.6AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/08/24 12:00 a.m.•23 views

Upgraded Q -> 2 from #273 [1692910023114]

Judge has assessed an item in Issue 273 as 2 risk. The relevant finding follows: L-01 --- The text was updated successfully, but these errors were encountered: All reactions...

7AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/08/23 12:00 a.m.•18 views

H-08 MitigationConfirmed

Lines of code Vulnerability details Original Issue H-08 - Increasing reserves breaks PrizePool accounting Details The previous implementation to increase reserves in the PrizePool contract didn't take into account the injected reserves, which caused the accounted balance in the prize pool to not ...

7.2AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/08/23 12:00 a.m.•16 views

Vault will stop participating in draws in case if they deposited maximum assets to the underlying vault

Lines of code Vulnerability details Impact Vault will stop participating in draws in case if they deposited maximum assets to the underlying vault. Proof of Concept Vault contract has maxMint function. This function first checks allowed amount to mint in the PtVault and then also checks amount...

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

M-10 Unmitigated

Lines of code Vulnerability details Issue not mitigated About the problem There was unsafe cast in the getTier function and warden has stated, that in case if value will be bigger than uint96.max, then wrong prize amount will be used. Solution Pool together has increased Tier.prizeSize variable t...

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

H-09 Unmitigated

Lines of code Vulnerability details Issue not mitigated About the problem In the report i have described some vaults that will not work in the designed system. Example of such vault will be any vault that has withdraw limit. In this case yieldVault.maxWithdraw call will not return actual amount o...

6.9AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/08/22 12:00 a.m.•29 views

H-05 Unmitigated

Lines of code Vulnerability details Issue not mitigated About the problem sponsor function allows caller to delegate his shares to the special address. In this case caller losses ability to win prizes. Previous version of code had sponsor function, which allowed to deposit funds on behalf of owne...

7.1AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/08/21 12:00 a.m.•28 views

Auctions run at significantly different speeds for different prize tiers

Lines of code Vulnerability details Comments The V5 implementation delegates the task of claiming prizes to a network of claimers. The fees received by a claimer are calculated based on a dutch auction and limited based on the prize size of the highest tier the smallest prize. As a result, it is...

6.8AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/08/21 12:00 a.m.•29 views

M-02 Unmitigated

Lines of code Vulnerability details Comments In the previous implementation a malicious user could set arbitrary vault hooks for afterClaimPrize and beforeClaimPrize that could be used to gas grief the claimer or cause other claims in the same call to fail by deliberately reverting Mitigation The...

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

Upgraded Q -> 2 from #422 [1692189363530]

Judge has assessed an item in Issue 422 as 2 risk. The relevant finding follows: L-04 --- The text was updated successfully, but these errors were encountered: All reactions...

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

Upgraded Q -> 3 from #264 [1691857350267]

Judge has assessed an item in Issue 264 as 3 risk. The relevant finding follows: Let's see how it can be exploited. You can add this test to Withdraw.t.sol and run with forge test -vv --match-contract VaultWithdrawTest --match-test testWithdrawAllAssetsForHalfShares: function...

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

TEST PR 1093 - edited

Lines of code L1 Vulnerability details edited Assessed type call/delegatecall --- The text was updated successfully, but these errors were encountered: All reactions...

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

currentCohort FUNCTION SHOULD REVERT WHEN electionCount == 0 RATHER THAN RETURNING Cohort.FIRST

Lines of code Vulnerability details Impact In the SecurityCouncilNomineeElectionGovernor.currentCohort function is used to retrieve the current Cohort of the contract. For a cohort to be elected the election should be created with the respective proposal Id. But with in the function scope of...

6.5AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/08/10 12:00 a.m.•21 views

Consider Disabling Inherited _cancel Function In The Governor Contracts

Lines of code Vulnerability details Impact The currently used openzeppelin upgradeable contracts dependency @openzeppelin/contracts-upgradeable is v4.7.3 The security council management contracts are inheriting the openzeppelin GovernorUpgradeable contracts to manage proposals. This version of...

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

User point history for first epoch remains empty

Lines of code Vulnerability details Impact balanceOfAt will not work correctly if the block number queried is related to user's first epoch. Proof of Concept VotingEscrow.solL142-L149 first assigns userOldPoint to userPointHistoryaddruEpoch + 1 if uEpoch==0 and then always assigns userNewPoint to...

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

Misaligned Epoch Calculation for Reward Claims

Lines of code Vulnerability details Impact When users attempt to claim rewards, the contract calculates the claimEnd and subsequently updates the userClaimedEpoch using claimEnd + WEEK. This might result in misaligned epochs in scenarios where claimUpToTimestamp is less than or more than a week. ...

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

LendingLedger.sol sends ETH instead of CANTO

Lines of code Vulnerability details Impact In the documentations for the contest it is clearly stated that LendingLedger contract is expected to send CANTO to the user when they call the claim function but in reality it transfers ETH. This could be problematic if the user is a contract that expec...

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

The Owner of SecurityCouncilMemberElectionGovernor Can Replace Cohorts And Bypass The Election Process

Lines of code Vulnerability details Impact In SecurityCouncilManager contract: the cohorts members are replaced by election via replaceCohort function; the process goes as follows: 1. an election proposal is made by anyone after 6-months of the last election via...

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

SecurityCouncilMemberSyncAction.perform is not exclusively can be scheduled from SecurityCouncilManager's operations

Lines of code Vulnerability details Impact SecurityCouncilMemberSyncAction.perform is a crucial function that will be triggered by upgrade executor via delegate call after the whole election process or after current members do some update add/remove/replace/rotate to update security council...

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

Missing access control for whitelisted smart contract

Lines of code Vulnerability details Impact Because this contract is a copy from the curve side, the verwa side is missing the check of a whitelisted/blacklisted smart contract. If the "blacklist" check is not added or implemented within the function, then the contract would lack the necessary...

7.2AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/08/10 12:00 a.m.•11 views

SecurityCouncilManager : removeMember does not make sure that the member is removed sucessfully.

Lines of code Vulnerability details Impact Incorrect information emitted as removed address. Remover would be thinking that they have successfully removed the harm causing cohort members, but still they are sitting inside the council. This is not good given the nature of the harmed action that...

6.6AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/08/10 12:00 a.m.•15 views

SecurityCouncilMemberElectionGovernor Owner Can Change votingPeriod During an Active Election

Lines of code Vulnerability details Impact In SecurityCouncilMemberElectionGovernor contract : relay function enables the contract owner from making calls to any contract address. And in SecurityCouncilMemberElectionGovernorCountingUpgradeable contract: setFullWeightDuration can be accessed only ...

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

Anyone can call perform in SecurityCouncilMemberSyncAction to update members of security council multisig

Lines of code Vulnerability details Impact Anyone can update members of security council multisig Proof of Concept SecurityCouncilMemberSyncAction contract has a perform function which is used to update members of security council multisig. File: SecurityCouncilMemberSyncAction.sol /// @notice...

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

otherCohort() is not returning different value when the Election has ended.

Lines of code Vulnerability details Impact In SecurityCouncilNomineeElectionGovernor.sol when the otherCohort function is called, it should return the otherCohort. But it is not the case because it returns the cohort at electionIndexToCohort at electionCount - 2 which is only updated when another...

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

Reusing other user's votes for both nominee and member elections

Lines of code Vulnerability details Impact The two elections nominee and member are sharing the same proposal id. This give an attack opportunity to a malicious user to reuse signature of other users who casted vote by signature in nominee election for casting vote in member election. In other...

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

No security council member can be proposed for removal using the propose function because it will always return MemberNotFound

Lines of code L134-L139 Vulnerability details Impact No security council member can be proposed for removal. Proof of Concept Going by the Arbitrum DAO constitution, a security council member cannot belong to first and second cohort at the same time. A security council member can either be in the...

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

SecurityCouncilMemberElectionGovernor propose() function is not properly restricted

Lines of code Vulnerability details summary The propose function in the SecurityCouncilMemberElectionGovernor contract is not properly restricted. This means that any user can call it, including attackers. Description The propose function in the SecurityCouncilMemberElectionGovernor contract is...

6.6AI score
SaveExploits0
Code423n4
Code423n4
•added 2023/08/10 12:00 a.m.•35 views

Missing validation to ensure that the _l2CoreGovTimelock parameter is not the zero address in the initialize function

Lines of code Vulnerability details Impact The initialize function accepts a parameter l2CoreGovTimelock and does check if it's a contract address using Address.isContract. However, there's no explicit check to ensure that l2CoreGovTimelock is not the zero address...

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

newEmergencySecurityCouncil in GovernanceChainSCMgmtActivationAction.sol is not given the TIMELOCK_CANCELLER_ROLE

Lines of code Vulnerability details Proof of Concept GovernanceChainSCMgmtActivationAction.sol checks that the prevEmergencySecurityCouncil has the TIMELOCKCANCELLERROLE first. Then, the role is revoked from the prevEmergencySecurityCouncil. In the last few lines, the function makes sure that the...

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

prev emergency security council still has cancellor role in SecurityCouncilMgmtActivationAction

Lines of code Vulnerability details Description In the GovernanceChainSCMgmtActivationAction.perform function. This function is responsible for activating the new emergency security council and revoking the roles of the previous emergency security council. The bug occurs in the following line of...

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

Contrary to sponsor's intent, the gauge's weight will not be updated properly if governance do not change weight before any voting

Lines of code Vulnerability details Impact This is the intended procedure based on Sponsor's answer in discord: Q: when we add new gauge we don't set any weight point or any data for it, did the new gauge will get the weight and power by time when users vote for it ?! A: Yes, the idea is that the...

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

the _checkpoint_market may not work as expected when it called more than twice at least

Lines of code Vulnerability details Impact the checkpointmarket function in the lendingLedger.sol contract did not work as it expected when the caller make a call to the function for the third time. the checkpointmarket would called more than once to update the market, however the function will n...

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

add_gauge doesn't initialize time_weight and update time_sum

Lines of code Vulnerability details Impact In Curve's implementation, when adding gauge, timeweight of gauge type is being initialized and timesum being updated. if self.timesumgaugetype == 0: self.timesumgaugetype = nexttime self.timeweightaddr = nexttime Since timesum has been set in constructo...

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

Voters can vote on a single pool multiple times by redelegating

Lines of code Vulnerability details Impact Users should be able to have only one concurrent vote on a pool in GaugeController. When a user votes the weight of his vote is calculated using his userweight parameter and the slope and end time of his balance lock are used to calculate the bias for th...

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

Lock owner DOS and funds stuck

Lines of code Vulnerability details Impact The lock's owner will no longer have the ability to use the delegate function. Meaning the person he chose to delegate can withdraw his funds when lock expires, but won't be able to. Proof of Concept Lets imagine 3 users with a Lock each: If user 1...

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

SecurityCouncilNomineeElectionGovernor might have to wait for more than 6 months to create election again

Lines of code Vulnerability details Impact SecurityCouncilNomineeElectionGovernor might have to wait for more than 6 months to create election again Proof of Concept According to the document , security council election can be create every 6 months. Contract SecurityCouncilNomineeElectionGovernor...

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

Delegation empowers more voting weight than expected

Lines of code Vulnerability details Description and Impact The user's voting power decreases linearly from the moment of the lock. To prevent this decrease, users can delegate their voting power to a new wallet. Here is an example scenario illustrating this: 1. The user owns two wallets, Wallet A...

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

lendingMarketTotalBalance isn't updated for first call to _checkpoint_market in markets created in first epoch

Lines of code Vulnerability details Impact This bricks the ability to update the market balance because when the function tries to update the lendingMarketTotalBalance it uses the value of lastMarketBalance = lendingMarketTotalBalancemarketlastMarketUpdateEpoch and since the value in...

6.7AI score
SaveExploits0
Total number of security vulnerabilities10190