https://sherlock-files.ams3.digitaloceanspaces.com/twitter_images/952f0080-76f8-44e9-ba33-ccf4f994c8e7.jpg

juancito

Security Researcher

āš”ļø Smart Contracts Auditor šŸ”Ž SR1 & Validator @code4rena šŸ•µļøā€ā™‚ļø Whitehat @immunefi 🧪 Layer 2 Researcher

Contact Me

High

27

Total

Medium

38

Total

$44.91K

Total Earnings

#199 All Time

24x

Payouts

gold

1x

1st Places

silver

2x

2nd Places

regular

6x

Top 10

All

Sherlock

Code4rena

Jan '25

IQ AI

IQ AI

316.22 USDC • 1 total finding • Code4rena • juancito

#11

high

Adversary can win proposals with voting power as low as 4%

Jun '24

Vultisig

Vultisig

13,054.31 USDC • 5 total findings • Code4rena • juancito

gold

high

Adversary can prevent the launch of any ILO pool with enough raised capital at any moment by providing single-sided liquidity

high

Vultisig whitelisting can be bypassed by anyone

high

Most users won't be able to claim their share of Uniswap fees

medium

`claim` function lacks slippage controls for `amount0` and `amount1` returned by `pool.burn` function call

medium

Transfer of ILOPool NFT token to different account allows for users to bypass the pool's `maxCapPerUser` invariant

Feb '24

Althea Liquid Infrastructure

Althea Liquid Infrastructure

267.84 USDC • 2 total findings • Code4rena • juancito

#12

medium

Withdrawal from NFTs can be temporarily blocked

medium

Distribution can be bricked, and double claims by a few holders are possible when owner calls `LiquidInfrastructureERC20::setDistributableERC20s`

AI Arena

AI Arena

2,479.51 USDC • 10 total findings • Code4rena • juancito

#5

high

Malicious user can stake an amount which causes zero curStakeAtRisk on a loss but equal rewardPoints to a fair user on a win

high

A locked fighter can be transferred; leads to game server unable to commit transactions, and unstoppable fighters

high

Since you can reroll with a different fighterType than the NFT you own, you can reroll bypassing maxRerollsAllowed and reroll attributes based on a different fighterType

high

Players have complete freedom to customize the fighter NFT when calling `redeemMintPass` and can redeem fighters of types Dendroid and with rare attributes

high

Fighters cannot be minted after the initial generation due to uninitialized `numElements` mapping

high

Non-transferable `GameItems` can be transferred with `GameItems::safeBatchTransferFrom(...)`

medium

Erroneous probability calculation in physical attributes can lead to significant issues

medium

Minter / Staker / Spender roles can never be revoked`..,

medium

Can mint NFT with the desired attributes by reverting transaction

medium

Fighter created by mintFromMergingPool can have arbitrary weight and element

Jan '24

Salty.IO

Salty.IO

287.91 USDC • 8 total findings • Code4rena • juancito

#42

high

When borrowers repay USDS, it is sent to the wrong address, allowing anyone to burn Protocol Owned Liquidity and build bad debt for USDS

high

User can evade `liquidation` by depositing the minimum of tokens and gain time to not be liquidated

medium

No proposal time limit traps sponsors of unpopular proposals

medium

Chainlink price feed uses BTC, not WBTC. In case of depegging, oracles will become easier to manipulate.

medium

Adversary can prevent updating price feed addresses by creating poisonous proposals ending in `_confirm`

medium

DOS of proposals by abusing ballot names without important parameters

medium

Remove Liquidity has missing reserve1 DUST check, which can make reserve1 to be less than DUST

medium

Impossible to change managed wallets with `proposeWallets` after first rejection

reNFT

reNFT

4,065.97 USDC • Code4rena • juancito

silver

Aug '23

Chainlink Staking v0.2

Chainlink Staking v0.2

3,741.7 USDC • Code4rena • juancito

#15

Dopex

Dopex

1,482.76 USDC • 3 total findings • Code4rena • juancito

#12

high

The settle feature will be broken if attacker arbitrarily transfer collateral tokens to the PerpetualAtlanticVaultLP

medium

The owner of RPDX Decaying Bonds is not updated on token transfers

medium

Missing slippage parameter on Uniswap `addLiquidity()` function

Jul '23

Lens Protocol V2

Lens Protocol V2

12,925.99 USDC • 5 total findings • Code4rena • juancito

silver

medium

Users can make any user follow them via `FollowNFT::tryMigrate()` without their consent

medium

Users can self-follow via `FollowNFT::tryMigrate()` on Lens V2

medium

EIP-712 typehash is incorrect for several functions in `MetaTxLib`

medium

Whitelisted profile creators could accidentally break migration for V1 profiles

medium

Users can unfollow through `FollowNFT` contract when LensHub is paused by governance

May '23

USSD - Autonomous Secure Dollar

USSD - Autonomous Secure Dollar

67.14 USDC • 9 total findings • Sherlock • juancito

#31

high

`StableOracleDAI` calculates `getPriceUSD` with inverted base/rate tokens for Chainlink price

high

`getPriceUSD` in `StableOracleDai` is miscalculated with wrong decimals from the `priceFeedDAIETH` Chainlink feed

high

The protocol can't rebalance because `USSD::UniV3SwapInput()` will revert as it is missing the `deadline` when creating the `ExactInputParams` for the swap

high

`USSDRebalancer::getOwnValuation()` is easy to manipulate as it doesn't use TWAP for getting the pool price

high

Missing access control on `mintRebalancer` allows unrestricted minting of USSD tokens by anyone affecting pool balance on rebalance

high

`ethOracle` is not defined in `StableOracleDAI` making `getPriceUSD` always revert

medium

`latestRoundData` from Chainlink might return stale or incorrect results

medium

There is no method for redeeming DAI to prevent negative scenarios described in the whitepaper

medium

Collateral tokens will be stuck on the contract and will be unusable after calling `USSD::removeCollateral()`

Ajna Protocol

Ajna Protocol

583.63 USDC • 2 total findings • Code4rena • juancito

#19

high

Position NFT can be spammed with insignificant positions by anyone until rewards DoS

medium

Adversary can prevent the creation of any extraordinary funding proposal by frontrunning `proposeExtraordinary()`

Footium

Footium

505.01 USDC • 3 total findings • Sherlock • juancito

#5

medium

Some ERC20 tokens can get permanently stuck in the contract due to use of `transfer()`

medium

One extra academy player can be minted per season due to mischeck in `mintPlayers`

medium

Increasing `_maxGenerationId` allows extra minting of academy players on previous seasons

Apr '23

EigenLayer Contest

EigenLayer Contest

2,483.5 USDC • 2 total findings • Code4rena • juancito

#7

high

It is impossible to slash queued withdrawals that contain a malicious strategy due to a misplacement of the ++i increment

medium

A malicious strategy can permanently DoS all currently pending withdrawals that contain it

Teller

Teller

123.39 USDC • 3 total findings • Sherlock • juancito

#35

high

Borrowers can steal lenders principal without providing collateral by frontrunning `lenderAcceptBid` and updating the bid

high

Adversary can modify the commited collateral of any bid at any time leading to lost or locked assets and DOS of the protocol

medium

Marketplaces owners can frontrun `submitBid` to steal collateral by modifying market parameters

Frankencoin

Frankencoin

872.95 USDC • 4 total findings • Code4rena • juancito

#12

high

CHALLENGER_REWARD can be used to drain reserves and free mint

high

Challenges can be frontrun with de-leveraging to cause lossses for challengers

medium

Can't pause or remove a minter

medium

function `restructureCapTable()` in Equity.sol not functioning as expected

Caviar Private Pools

Caviar Private Pools

10.86 USDC • 1 total finding • Code4rena • juancito

#69

medium

`Factory.create`: Predictability of pool address creates multiple issues.

Rubicon v2

Rubicon v2

12.48 USDC • 1 total finding • Code4rena • juancito

#102

medium

BathBuddy contract should implement methods to pause and unpause contract

Mar '23

Asymmetry contest

Asymmetry contest

82.93 USDC • 3 total findings • Code4rena • juancito

#60

high

An attacker can manipulate the preDepositvePrice to steal from other users.

medium

Division before multiplication truncate minOut and incurs heavy precision loss and result in insufficient slippage protection

medium

Residual ETH unreachable and unuitilized in SafEth.sol

Canto Identity Subprotocols contest

Canto Identity Subprotocols contest

103.65 USDC • 1 total finding • Code4rena • juancito

#19

medium

Users can end up buying and paying for a different Tray than the one they were trying to acquire

Polynomial Protocol contest

Polynomial Protocol contest

1,115.09 USDC • Code4rena • juancito

#12

Neo Tokyo contest

Neo Tokyo contest

184.41 USDC • 1 total finding • Code4rena • juancito

#15

high

Underflow of `lpPosition.points` during withdrawLP causes huge reward minting

Wenwin contest

Wenwin contest

21.7 USDC • Code4rena • juancito

#26

Feb '23

Hats

Hats

90.44 USDC • 1 total finding • Sherlock • juancito

#17

medium

Transactions will be frozen if incorrect settings are used during a deployment on HatsSignerGateFactory

Jan '23

Biconomy - Smart Contract Wallet contest

Biconomy - Smart Contract Wallet contest

36.5 USDC • Code4rena • juancito

#55