104 matches found
An underflow occurred during the token transfer.
Lines of code Vulnerability details Impact An underflow can occur during a token transfer when there is insufficient allowance. Proof of Concept function transferFrom address from, address to, uint256 amount external virtual nonReentrant returns bool uint256 allowed = allowancefrommsg.sender; //...
Some ERC20Votes tokens will not work if you set approve() to any value without setting to zero first
Lines of code Vulnerability details Impact Not setting allowance to Zero before changing the allowance can hinder the deployment of the ERC20ProxyDelegator contract for some ERC20 tokens Proof of Concept Some ERC20 tokens like USDT with Voting enabled will not work when changing the allowance fro...
Same multiple values in source result in wrong withdrawl
Lines of code Vulnerability details Impact Detailed description of the impact of this finding. If by mistake same delegate value is given multiple times to sources array then withdrawal is affected Proof of Concept Provide direct links to all referenced code in GitHub. Add screenshots, logs, or a...
VotiumStrategyCore.applyRewards() leaves unlimited allowance on tokens.
Lines of code Vulnerability details Description VotiumStrategyCore.applyRewards gives unlimited allowance on its claimed rewards tokens. It is not thereafter reset and there is not even any way to reset the allowance. It is dangerous to trust the spenders indefinitely in case they are compromised...
Allowance manipulation in UserEscrow struct leads to unauthorized token transfers due to overreliance on maximum allowance check
Lines of code Vulnerability details Summary The UserEscrow smart contract contains a vulnerability that can possibly allow unauthorized users to transfer tokens out of the contract. Specifically, an attacker can exploit this flaw by manipulating the allowances, thus enabling them to bypass the...
transferIn() is susceptible to a front-running attack
Lines of code Vulnerability details Impact Another auth caller can exploit the vulnerability by executing front-running transactions using the source address that has just given allowance approval to the contract. This allows the attacker to acquire and increase the destination amount of the...
Discrepancy in Token Allowance After Rebase Events
Lines of code Vulnerability details The function returns the number of tokens that spender is allowed to spend on behalf of owner. However, in the context of tokens with rebase mechanisms, the owner's balance can dynamically change without explicit transactions. The described behavior might lead ...
Potential Over-redemption Vulnerability in redeem Function
Lines of code Vulnerability details Impact In the redeem function, when a third party is using their allowance to redeem shares on behalf of an owner, there exists a potential scenario where the third party could redeem more than originally intended by the owner. Proof of Concept This is how the...
Approve race condition when calling approveContractToSpend()
Lines of code Vulnerability details Impact Malicious allowance spenders will be able to spend more than the protocol intended. Proof of Concept When modifying the approved allowance of a spender address there is an issue with the spender address front-running the modification transaction and...
addCollateral allows anyone to addCollateral on behalf of others
Lines of code Vulnerability details Impact addCollateral allows anyone to addCollateral on behalf of others. In other words, bypassing the borrow allowance check. Proof of Concept allowedBorrow modifier will not revert if passed share == 0. addCollateral method uses allowedBorrow modifier functio...
User can bypass their approved redeem allowance
Lines of code Vulnerability details Impact The caller can bypass the allowance check by exploiting the exchange rate calculation and drain funds from the contract up to the full balance owned by msg.sender, not just the amount approved in the allowance. Proof of Concept The issue is that...
the unbounded approve function allows a front-running vulnerability due to setting unlimited allowance.
Lines of code Vulnerability details Impact if approve is called with a very high allowance, the spender can drain the owner's entire balance. Proof of Concept approve allows setting an allowance to any arbitrary uint256 value, including typeuint.max. This effectively gives unlimited approval to t...
Front running issue when updating the GSC allowance
Lines of code Vulnerability details Impact This would lead to loss of funds as the attacker drained tokens based on old allowance. Proof of Concept The issue is between these two lines: 1. The new allowance amount is set in storage via gscAllowancetoken = newAllowance 2. The GSCAllowanceUpdated...
GSC will lose allowance if it tries to lower a spender's approval
Lines of code Vulnerability details Impact GSC will lose allowance if it tries to lower a spender's approval. Proof of Concept When gsc update a spender's approval, the gscAllowance will always decrease by amount: function gscApprove address token, address spender, uint256 amount external...
Front run attacks during the 7 day cooldown period in setGSCAllowance.
Lines of code Vulnerability details Impact A malicious miner can send a transaction from the GSC to drain the new allowance before the admin's transaction sets it. Proof of Concept The setGSCAllowance function sets a 7 day cooldown period between allowance changes for each token. This prevents th...
Keepers are allowed to use the full EUSD balance of any provider to liquidate funds
Lines of code Vulnerability details Impact Keepers are allowed to use the full EUSD balance of any provider to liquidate funds. Normally, the keeper should only be allowed to use max of the amount that the provider approves to LybraStETHVault. But the check only checks if the provider gives an...
SUSE-SU-2023:2313-1 Security update for c-ares
This update for c-ares fixes the following issues: Update to version 1.19.1: - CVE-2023-32067: 0-byte UDP payload causes Denial of Service bsc1211604 - CVE-2023-31147: Insufficient randomness in generation of DNS query IDs bsc1211605 - CVE-2023-31130: Buffer Underwrite in aresinetnetpton bsc12116...
Upgraded Q -> M from #164 [1674419095024]
Judge has assessed an item in Issue 164 as M risk. The relevant finding follows: LOW‑1 The Contract Should approve0 First Some tokens like USDT L199 do not work when changing the allowance from an existing non-zero allowance value. They must first be approved by zero and then the actual allowance...
Contract owner can drain all NFT collateral
Lines of code Vulnerability details Impact To add NFTs as collateral to the protocol and it to create debt, the owner has to approve each NFT contract address first. As anyone can create their own papr vaults with arbitrary allowed NFTs by design, this opens the possibility for malicious actors t...
ERC20 approvals may need to be set to 0 beforehand
Lines of code Vulnerability details Impact There are some instances where there is an ERC20 approval for a max uint256 amount. ERC20 tokens such as USDT require the address allowance to be set to 0 beforehand, so this would cause reverts for those tokens. Proof of Concept -Token such as USDT gets...