https://sherlock-files.ams3.digitaloceanspaces.com/profile_images/defaults/default_avatar_7.png

pauliax

Security Researcher

Contact Me

High

61

Total

Medium

102

Total

$294.51K

Total Earnings

#32 All Time

92x

Payouts

silver

7x

2nd Places

bronze

9x

3rd Places

regular

66x

Top 10

All

Code4rena

Apr '24

Renzo

Renzo

257.31 USDC • 2 total findings • Code4rena • pauliax

#32

high

Incorrect withdraw queue balance in TVL calculation

high

DOS of `completeQueuedWithdrawal` when ERC20 buffer is filled

Jan '23

Biconomy - Smart Contract Wallet contest

Biconomy - Smart Contract Wallet contest

36.5 USDC • Code4rena • pauliax

#55

Dec '22

GoGoPool contest

GoGoPool contest

501.85 USDC • 2 total findings • Code4rena • pauliax

#35

high

Hijacking of node operators minipool causes loss of staked funds

medium

Division by zero error can block RewardsPool#startRewardCycle if all multisig wallet are disabled.

Escher contest

Escher contest

3,356.54 USDC • 4 total findings • Code4rena • pauliax

silver

high

selfdestruct may cause the funds to be lost

high

`LPDA` price can underflow the price due to bad settings and potentially brick the contract

high

`saleReceiver` and `feeReceiver` can steal refunds after sale has ended

medium

Use of `payable.transfer()` Might Render ETH Impossible to Withdraw

Sep '22

VTVL contest

VTVL contest

227.92 USDC • 2 total findings • Code4rena • pauliax

#31

high

Loss of vested amounts

medium

Supply cap of VariableSupplyERC20Token is not properly enforced

Art Gobblers contest

Art Gobblers contest

1,858.21 USDC • 1 total finding • Code4rena • pauliax

#13

high

Can Recover Gobblers Burnt In Legendary Mint

Y2k Finance contest

Y2k Finance contest

745.55 USDC • 2 total findings • Code4rena • pauliax

#16

high

Incorrect handling of pricefeed.decimals()

high

Griefing attack on the Vaults is possible, withdrawing the winning side stakes

FEI and TRIBE Redemption contest

FEI and TRIBE Redemption contest

197.19 USDC • Code4rena • pauliax

#4

Nouns Builder contest

Nouns Builder contest

1,187.48 USDC • 4 total findings • Code4rena • pauliax

#20

medium

A proposal can be cancelled by anyone if the proposal has exactly proposalThreshold votes

medium

Highest bid in first auction can get irretreivably stuck in the protocol

medium

A proposal can pass with 0 votes in favor at early DAO stages

medium

Auction parameters can be changed during ongoing auction

Aug '22

Nouns DAO contest

Nouns DAO contest

52.1 USDC • Code4rena • pauliax

#38

May '22

veToken Finance contest

veToken Finance contest

1,142.75 USDT • 1 total finding • Code4rena • pauliax

#17

medium

Consistently check account balance before and after transfers for Fee-On-Transfer discrepancies

Velodrome Finance contest

Velodrome Finance contest

226.8 USDC • 1 total finding • Code4rena • pauliax

#27

medium

Malicious user can populate `rewards` array with tokens of their interest reaching limits of `MAX_REWARD_TOKENS`

Rubicon contest

Rubicon contest

1,623.35 USDC • 7 total findings • Code4rena • pauliax

#11

high

BathToken LPs Unable To Receive Bonus Token Due To Lack Of Wallet Setter Method

medium

Strategists can take more rewards than they should using the function strategistBootyClaim().

medium

Missing checks allow strategists to steal all fund via `tailOff`

medium

Admin rug vectors

medium

Use `safeTransfer()`/`safeTransferFrom()` instead of `transfer()`/`transferFrom()`

medium

RubiconMarketAddress in BathPair can't be updated

medium

BathBuddy locks up Ether it receives

Forgotten Runes Warrior Guild contest

Forgotten Runes Warrior Guild contest

45.84 USDC • Code4rena • pauliax

#51

Apr '22

PoolTogether Aave v3 contest

PoolTogether Aave v3 contest

118.26 USDC • Code4rena • pauliax

#20

Mimo DeFi contest

Mimo DeFi contest

1,438.76 USDC • 1 total finding • Code4rena • pauliax

#8

medium

Decimal token underflow could produce loose of funds

AbraNFT contest

AbraNFT contest

139.5 MIM • Code4rena • pauliax

#27

Backd contest

Backd contest

1,032.46 USDC • 2 total findings • Code4rena • pauliax

#14

medium

`_decimalMultiplier` doesn't account for tokens with decimals higher than 18

medium

`call()` should be used instead of `transfer()` on an `address payable`

JPEG'd contest

JPEG'd contest

151.51 USDC • Code4rena • pauliax

#43

Mar '22

Volt Protocol contest

Volt Protocol contest

130.37 USDC • Code4rena • pauliax

#25

Feb '22

Hubble contest

Hubble contest

407.82 USDC • 1 total finding • Code4rena • pauliax

#21

medium

Liquidations can be run on the bogus Oracle prices

Tribe Turbo contest

Tribe Turbo contest

518.68 USDC • Code4rena • pauliax

#14

Redacted Cartel contest

Redacted Cartel contest

2,787.28 USDC • 3 total findings • Code4rena • pauliax

bronze

medium

Manipulations of setFee

medium

fees can be any amount

medium

[WP-H0] `DEFAULT_ADMIN_ROLE` of `BribeVault` can steal tokens from users' wallets

Aave Lens contest

Aave Lens contest

1,246.74 USDC • Code4rena • pauliax

#10

Nested Finance contest

Nested Finance contest

2,466.86 USDC • 1 total finding • Code4rena • pauliax

#4

medium

`NestedFactory` does not track operators properly

Badger Citadel contest

Badger Citadel contest

1,938.19 USDC • 2 total findings • Code4rena • pauliax

#4

medium

Owner can steal input tokens

medium

[WP-H3] `saleRecipient` can rug buyers

Concur Finance contest

Concur Finance contest

3,229.2 USDC • 5 total findings • Code4rena • pauliax

#6

high

Shelter `claimed` mapping is set with `_to` address and not `msg.sender`

medium

[WP-H2] `ConvexStakingWrapper#deposit()` depositors may lose their funds when the `_amount` is huge

medium

Deposits after the grace period should not be allowed

medium

StakingRewards.recoverERC20 allows owner to rug the `rewardsToken`

medium

[ConcurRewardPool] Possible reentrancy when claiming rewards

Jan '22

Notional contest

Notional contest

614.57 USDC • 3 total findings • Code4rena • pauliax

#12

high

Access restrictions on `NotionalV1ToNotionalV2.notionalCallback` can be bypassed

medium

`sNOTE.sol#_mintFromAssets()` Lack of slippage control

medium

Usage of deprecated ChainLink API in `EIP1271Wallet`

OpenLeverage contest

OpenLeverage contest

2,454.74 USDT • Code4rena • pauliax

#9

Behodler contest

Behodler contest

1,902.08 USDC • 1 total finding • Code4rena • pauliax

#12

high

Lack of access control on `assertGovernanceApproved` can cause funds to be locked

Trader Joe contest

Trader Joe contest

1,006.17 USDT • Code4rena • pauliax

#15

Sherlock contest

Sherlock contest

7,049.05 USDC • 1 total finding • Code4rena • pauliax

#5

medium

updateYieldStrategy will freeze some funds with the old Strategy if yieldStrategy fails to withdraw all the funds because of liquidity issues

ElasticSwap contest

ElasticSwap contest

527.72 USDC • Code4rena • pauliax

#8

Livepeer contest

Livepeer contest

317.24 tokens) • Code4rena • pauliax

#13

InsureDAO contest

InsureDAO contest

2,303.7 tokens) • 1 total finding • Code4rena • pauliax

#8

medium

Index compensate is 0 when totalLiquidity() is enough to cover the whole amount

Sandclock contest

Sandclock contest

3,057.99 USDC • 2 total findings • Code4rena • pauliax

#4

high

Vaults with non-UST underlying asset vulnerable to flash loan attack on curve pool

medium

Check _to is not empty

Dec '21

Vader Protocol contest

Vader Protocol contest

390.23 USDC • 10 total findings • Code4rena • pauliax

#10

high

Missing access restriction on `lockUnits/unlockUnits`

high

convert collects funds even when minting is disabled

high

Unrestricted vestFor

high

Unused slippage params

medium

Incorrect operator used in deploySynth() of Pools.sol

medium

Completed proposals can be voted on and executed again

medium

Handle transfers of different ERC20 tokens

medium

Copy-paste bug leading to incorrect harvest rewards in Vault.sol

medium

Unbounded loop in TwapOracle.update can result in oracle being locked

medium

VaderPoolV2.mintFungible exposes users to unlimited slippage

Yeti Finance contest

Yeti Finance contest

4,034.67 USDC • Code4rena • pauliax

#7

NFTX contest

NFTX contest

3,281.5 USDC • 7 total findings • Code4rena • pauliax

#7

high

An attacker can cause an overflow in the flashLoan function

high

Missing nonReentrant in swapTo

high

A vault can be locked from MarketplaceZap and StakingZap

medium

function receiveNFTs does not check if amount > 0

medium

Randomization of NFTs returned in redeem/swap operations can be brute-forced

medium

mintRequests can remain 0 when the token is erc721

medium

Return variable can remain unassigned in _sendForReceiver

Amun contest

Amun contest

1,141.51 USDC • 1 total finding • Code4rena • pauliax

#13

medium

Function `joinTokenSingle` in `SingleTokenJoin.sol` and `SingleTokenJoinV2.sol` can be made to fail

PoolTogether TwabRewards contest

PoolTogether TwabRewards contest

799.95 USDC • 2 total findings • Code4rena • pauliax

#10

high

Malicious tickets can lead to the loss of all tokens

high

Backdated _startTimestamp can lead to loss of funds

Mellow Protocol contest

Mellow Protocol contest

736.68 USDC • Code4rena • pauliax

#8

Nov '21

Streaming Protocol contest

Streaming Protocol contest

2,487.2 USDC • 2 total findings • Code4rena • pauliax

#15

high

recoverTokens doesn't work when isSale is true

high

Tokens can be stolen when `depositToken == rewardToken`

Malt Finance contest

Malt Finance contest

2,370.41 USDC • 1 total finding • Code4rena • pauliax

#10

medium

Frontrunning in UniswapHandler calls to UniswapV2Router

Unlock Protocol contest

Unlock Protocol contest

3,322.38 USDC • 1 total finding • Code4rena • pauliax

#5

medium

Support of different ERC20 tokens

Overlay Protocol contest

Overlay Protocol contest

8,098.7 ETH • 4 total findings • Code4rena • pauliax

silver

high

OZ ERC1155Supply vulnerability

medium

Timelock and events for governor functions

medium

Cached version of ovl may be outdated

medium

Improper Upper Bound Definition on the Fee

yAxis contest

yAxis contest

2,367.26 USDC • Code4rena • pauliax

#4

Nested Finance contest

Nested Finance contest

2,257.36 USDC • 1 total finding • Code4rena • pauliax

#6

medium

`NestedFactory` does not track operators properly

Vader Protocol contest

Vader Protocol contest

2,771.66 USDC • 10 total findings • Code4rena • pauliax

#9

high

Missing access restriction on `lockUnits/unlockUnits`

high

convert collects funds even when minting is disabled

high

Unrestricted vestFor

high

Unused slippage params

medium

Incorrect operator used in deploySynth() of Pools.sol

medium

Completed proposals can be voted on and executed again

medium

Handle transfers of different ERC20 tokens

medium

Copy-paste bug leading to incorrect harvest rewards in Vault.sol

medium

Unbounded loop in TwapOracle.update can result in oracle being locked

medium

VaderPoolV2.mintFungible exposes users to unlimited slippage

Boot Finance contest

Boot Finance contest

3,800.85 USDC • 6 total findings • Code4rena • pauliax

#4

high

Unable to claim vesting due to unbounded timelock loop

high

Claim airdrop repeatedly

medium

Overwrite benRevocable

medium

NFT flashloans can bypass sale constraints

medium

Unchecked transfers

medium

No Transfer Ownership Pattern

Oct '21

Slingshot Finance contest

Slingshot Finance contest

2,993.71 ETH • Code4rena • pauliax

#5

BadgerDAO ibBTC Wrapper contest

BadgerDAO ibBTC Wrapper contest

1,222.48 ETH • Code4rena • pauliax

#10

Mochi contest

Mochi contest

4,572.3 ETH • 1 total finding • Code4rena • pauliax

#8

high

`ReferralFeePoolV0.sol#claimRewardAsMochi()` Array out of bound exception

Tally contest

Tally contest

1,047.46 ETH • 1 total finding • Code4rena • pauliax

#5

medium

Swap.sol implements potentially dangerous transfer

Covalent contest

Covalent contest

235.53 ETH • Code4rena • pauliax

#9

Ambire contest

Ambire contest

2,551.83 USDC • Code4rena • pauliax

#4

Union Finance contest

Union Finance contest

1,488.36 ETH • Code4rena • pauliax

#9

Tempus Finance contest

Tempus Finance contest

461.8 USDC • Code4rena • pauliax

#8

Kuiper contest

Kuiper contest

3,613.43 USDC • 4 total findings • Code4rena • pauliax

bronze

medium

Incorrect data location specifier can be abused to cause DoS and fund loss

medium

`Basket.sol#mint()` Malfunction due to extra `nonReentrant` modifier

medium

Validations

medium

createBasket re-entrancy

Tracer contest

Tracer contest

1,021.9 tokens) • 2 total findings • Code4rena • pauliax

#4

high

Malicious owner can drain the market at any time using SafetyWithdraw

medium

No check transferFrom() return value

PoolTogether v4 contest

PoolTogether v4 contest

6,823.12 USDC • Code4rena • pauliax

#4

Sep '21

Sushi Trident contest phase 2

Sushi Trident contest phase 2

6,904.79 USDC • 5 total findings • Code4rena • pauliax

#5

high

`ConcentratedLiquidityPoolManager`'s incentives can be stolen

high

Burning does not update reserves

high

Wrong usage of `positionId` in `ConcentratedLiquidityPoolManager`

medium

Incentive should check that it hasn't started yet

medium

`TridentNFT.permit` should always check `recoveredAddress != 0`

Swivel contest

Swivel contest

4,340.54 ETH • 2 total findings • Code4rena • pauliax

#6

high

Unsafe handling of underlying tokens

medium

Previously created markets can be overwritten

Wild Credit contest

Wild Credit contest

2,032.62 USDC • 1 total finding • Code4rena • pauliax

#4

medium

_wethWithdrawTo is vulnerable re-entrancy

Kuiper contest

Kuiper contest

976.69 USDC • 4 total findings • Code4rena • pauliax

#14

medium

Incorrect data location specifier can be abused to cause DoS and fund loss

medium

`Basket.sol#mint()` Malfunction due to extra `nonReentrant` modifier

medium

Validations

medium

createBasket re-entrancy

Sushi Trident contest phase 1

Sushi Trident contest phase 1

5,162.51 USDC • 2 total findings • Code4rena • pauliax

#8

high

Unsafe cast in IndexPool mint leads to attack

medium

No bar fees for IndexPools?

Sushi Miso contest

Sushi Miso contest

5,333.7 USDC • Code4rena • pauliax

#4

yAxis contest

yAxis contest

502.81 tokens) • Code4rena • pauliax

#9

bveCVX by BadgerDAO contest

bveCVX by BadgerDAO contest

7,377.42 tokens) • Code4rena • pauliax

#4

Aug '21

Notional contest

Notional contest

13,992.72 USDC • 3 total findings • Code4rena • pauliax

bronze

high

Access restrictions on `NotionalV1ToNotionalV2.notionalCallback` can be bypassed

medium

`sNOTE.sol#_mintFromAssets()` Lack of slippage control

medium

Usage of deprecated ChainLink API in `EIP1271Wallet`

Gravity Bridge contest

Gravity Bridge contest

8,712.02 USDC • 1 total finding • Code4rena • pauliax

bronze

medium

Sum of validator powers should always be no less than the threshold

Float Capital contest

Float Capital contest

2,173.43 USDC • 1 total finding • Code4rena • pauliax

#7

medium

latestMarket used where marketIndex should have been used

Jul '21

PoolTogether micro contest #1

PoolTogether micro contest #1

1,606.53 USDC • 2 total findings • Code4rena • pauliax

#5

high

`redeemToken` can fail for certain tokens

medium

Use of safeApprove will always cause approveMax to revert

Sherlock contest

Sherlock contest

9,341.61 USDC • 1 total finding • Code4rena • pauliax

#4

medium

updateYieldStrategy will freeze some funds with the old Strategy if yieldStrategy fails to withdraw all the funds because of liquidity issues

Connext contest

Connext contest

4,824.4 USDC • 4 total findings • Code4rena • pauliax

bronze

high

activeTransactionBlocks are vulnerable to DDoS attacks

high

Approval is not reset if the call to IFulfillHelper fails

high

Router liquidity on receiving chain can be double-dipped by the user

high

Anyone can arbitrarily add router liquidity

Wild Credit contest

Wild Credit contest

2,749.02 USDC • 1 total finding • Code4rena • pauliax

bronze

medium

_wethWithdrawTo is vulnerable re-entrancy

Gro Protocol contest

Gro Protocol contest

8,124.11 USDC • 2 total findings • Code4rena • pauliax

#5

high

Incorrect use of operator leads to arbitrary minting of GVT tokens

medium

Safe addresses can only be added but not removed

Jun '21

Tracer contest

Tracer contest

4,005.09 USDC • 2 total findings • Code4rena • pauliax

#6

high

Malicious owner can drain the market at any time using SafetyWithdraw

medium

No check transferFrom() return value

PoolTogether contest

PoolTogether contest

2,502.87 USDC • 1 total finding • Code4rena • pauliax

#4

medium

safeApprove() for Yearn Vault may revert preventing deposits causing DoS

Reality Cards contest

Reality Cards contest

2,504.21 USDC • 5 total findings • Code4rena • pauliax

#6

high

Unchecked ERC20 transfers can cause lock up

high

anyone can call function sponsor

medium

Missing balancedBooks modifier could result in failed system insolvency detection

medium

minRentalDayDivisor can be different between markets and treasury

medium

RCFactory.createMarket() does not enforce _timestamps[1] and _timestamps[2] being larger than _timestamps[0], even though proper functioning requires them to be so

May '21

Yield contest

Yield contest

6,371.78 USDC • Code4rena • pauliax

#6

FairSide contest

FairSide contest

2,912.73 USDC • 3 total findings • Code4rena • pauliax

#5

high

`Withdrawable.withdraw` does not decrease `pendingWithdrawals`

medium

Incorrect use of _addTribute instead of _addGovernanceTribute

medium

Should check return data from Chainlink aggregators

Visor contest

Visor contest

12,086.49 USDC • 2 total findings • Code4rena • pauliax

bronze

high

Unbounded loop in `_removeNft` could lead to a griefing/DOS attack

medium

Approval for NFT transfers is not removed after transfer

88mph contest

88mph contest

4,404.55 USDC • Code4rena • pauliax

#4

NFTX contest

NFTX contest

10,343.65 USDC • 7 total findings • Code4rena • pauliax

silver

high

An attacker can cause an overflow in the flashLoan function

high

Missing nonReentrant in swapTo

high

A vault can be locked from MarketplaceZap and StakingZap

medium

function receiveNFTs does not check if amount > 0

medium

Randomization of NFTs returned in redeem/swap operations can be brute-forced

medium

mintRequests can remain 0 when the token is erc721

medium

Return variable can remain unassigned in _sendForReceiver

Apr '21

LarvaLabs Meebits Contest

LarvaLabs Meebits Contest

6,684.49 USDC • 1 total finding • Code4rena • pauliax

bronze

high

function tokenByIndex treats last index as invalid

Based Loans contest

Based Loans contest

7,738.11 USDC • 1 total finding • Code4rena • pauliax

silver

high

uint(-1) index for not found

Vader Protocol contest

Vader Protocol contest

7,190.26 USDC • 10 total findings • Code4rena • pauliax

bronze

high

Missing access restriction on `lockUnits/unlockUnits`

high

convert collects funds even when minting is disabled

high

Unrestricted vestFor

high

Unused slippage params

medium

Incorrect operator used in deploySynth() of Pools.sol

medium

Completed proposals can be voted on and executed again

medium

Handle transfers of different ERC20 tokens

medium

Copy-paste bug leading to incorrect harvest rewards in Vault.sol

medium

Unbounded loop in TwapOracle.update can result in oracle being locked

medium

VaderPoolV2.mintFungible exposes users to unlimited slippage

Maple Finance contest

Maple Finance contest

3,711.79 USDC • Code4rena • pauliax

#5

Marginswap contest

Marginswap contest

18,227.61 USDC • Code4rena • pauliax

silver

Feb '21

ElasticDAO contest

ElasticDAO contest

7,487.15 ETH • Code4rena • pauliax

silver
Slingshot Finance contest

Slingshot Finance contest

3,989.84 USDC • Code4rena • pauliax

silver