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

fnanni

Security Researcher

Contact Me

High

11

Total

Medium

1

Solo

13

Total

$13.96K

Total Earnings

#436 All Time

7x

Payouts

gold

1x

1st Places

regular

5x

Top 10

regular

6x

Top 25

All

Sherlock

Code4rena

Feb '24

Rio Network

Rio Network

1,871.69 USDC • 3 total findings • Sherlock • fnanni

#10

high

Epoch can be settled after queueing withdrawals from EigenLayer

medium

Execution Layer rewards are lost

medium

RioLRTOperatorDelegator is unable to receive ether

AI Arena

AI Arena

7,568.05 USDC • 12 total findings • Code4rena • fnanni

gold

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(...)`

high

FighterFarm:: reroll won't work for nft id greator than 255 due to input limited to uint8

medium

Erroneous probability calculation in physical attributes can lead to significant issues

medium

Almost all rarity rank combinations cannot be, and are not uniformly, generated

medium

Can mint NFT with the desired attributes by reverting transaction

medium

DoS in `MergingPool::claimRewards` function and potential DoS in `RankedBattle::claimNRN` function if called after a significant amount of rounds passed.

medium

Fighter created by mintFromMergingPool can have arbitrary weight and element

Jan '24

Salty.IO

Salty.IO

1,266.45 USDC • 3 total findings • Code4rena • fnanni

#10

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

medium

No proposal time limit traps sponsors of unpopular proposals

medium

Suboptimal arbitrage implementation

reNFT

reNFT

1,706.97 USDC • Code4rena • fnanni

#9

Truflation

Truflation

346.01 USDC • 2 total findings • Sherlock • fnanni

#4

high

User can claim many times the initialReleasePct of his vesting and drain the contract

medium

It's not always possible to cancel a vesting

Dec '23

Revolution Protocol

Revolution Protocol

68.5 USDC • 3 total findings • Code4rena • fnanni

#48

medium

Once EntropyRateBps is set too high, can lead to denial-of-service (DoS) due to an invalid ETH amount

medium

CultureIndex.sol#dropTopVotedPiece() - Malicious user can manipulate topVotedPiece to DoS the whole CultureIndex and AuctionHouse

medium

It may be possible to DoS AuctionHouse by specifying malicious creators

Nov '23

Panoptic

Panoptic

1,130.93 USDC • 1 total finding • Code4rena • fnanni

#11

high

Partial transfers are still possible, leading to incorrect storage updates, and the calculated account premiums will be significantly different from what they should be