https://sherlock-files.ams3.digitaloceanspaces.com/twitter_images/76330ded-f70e-4994-a616-d34b7a9ab358.jpg

jkoppel

Security Researcher

Insists "crypto" stands for "cryptography." Senior Watson @sherlockdefi. Alt of @jimmykoppel.

Contact Me

High

18

Total

Medium

4

Solo

21

Total

$33.90K

Total Earnings

#246 All Time

10x

Payouts

gold

4x

1st Places

bronze

1x

3rd Places

regular

7x

Top 10

All

Sherlock

Code4rena

Cantina

May '24

Tokensoft Distributor Contracts Update

Tokensoft Distributor Contracts Update

11,082.60 USDC • 2 total findings • Sherlock • jkoppel

gold

medium

AdvancedDistributorInitializable sets claim data to empty, making claims fail

medium

PerAddressTrancheVestingMerkleDistributor.claim always reverts because it checks the Merkle proof incorrectly

Nov '23

morpho-blue

morpho-blue

1,023.29 USDC • 1 total finding • Cantina • jkoppel

#21

medium

Finding not yet public.

Sep '23

Venus Prime

Venus Prime

20.06 USDC • Code4rena • jkoppel

#36

Allo V2

Allo V2

2,697.90 USDC • 13 total findings • Sherlock • jkoppel

gold

high

In RFPSimpleStrategy, winning bid can use bait-and-switch to increase bid after acceptance and steal funds

high

In QV strategy, allocators by default get infinite votes

high

RFPSimpleStrategy.allocate() can be front-run, allowing the someone to bid very low but charge very high

medium

In RFPSimpleStrategy, if pool is not overfunded, payouts past the first will not work

medium

The two RFP sttrategies cannot be used with useRegistry anchor on

medium

QV strategy cannot receive native token

medium

In QV strategy, a clever allocator can get exponentially-many votes

medium

The 1-second overlap between the during- and after-allocation periods may cause funds to become stuck, permanently.

medium

Late-arriving funds to QV strategy can get stuck forever

medium

All strategies except DonationVotingMerkleDistributionDirectTransferStrategy do not work for fee-on-transfer tokens

medium

Changing already-set milestones leads to paying incorrect amount

medium

Problems with tokens that transfer less than amount. (Separate from fee-on-transfer issues!)

medium

Anchor creation and cloneable strategies do not work on zkSync Era

Centrifuge

Centrifuge

12.79 USDC • Code4rena • jkoppel

#34

Aug '23

Cooler Update

Cooler Update

6,022.80 USDC • 3 total findings • Sherlock • jkoppel

bronze

high

Can steal gOhm by calling Clearinghouse.claimDefaulted on loans not made by Clearinghouse

high

Calling Cooler.claimDefaulted will lose all unclaimed payments.

medium

gOhm stuck forever if call claimDefaulted on Cooler directly

Jul '23

Tokensoft

Tokensoft

3,841.63 USDC • 4 total findings • Sherlock • jkoppel

gold

high

Recipients in a CrosschainMerkleDistributor can mint themselves arbitrary amounts of voting tokens

medium

setVoteFactor() does not change existing supply of votes. As a result, some may be unable to withdraw.

medium

Because of rounding issues, users may not be able to withdraw airdrop tokens if their claim has been adjust()'ed upwards

medium

Settlement does not pay relayer fee to Connext

Feb '23

Fair Funding by Alchemix & Unstoppable

Fair Funding by Alchemix & Unstoppable

2,566.81 USDC • 3 total findings • Sherlock • jkoppel

gold

high

liquidate() and claim_funds() track money to be received separately

high

Late-depositors can claim value intended for earlier depositors

medium

migrate() cannot do anything

Carapace

Carapace

4,781.60 USDC • 8 total findings • Sherlock • jkoppel

#4

high

Can shut down ProtectionPool late payment logic by dusting purchase of small protections

high

Lenders are able to purchase protection in excess of their lending position

high

Consecutive lockings cause capital to be lost forever

high

Buyer gets free protection during renewal period

high

Once per cycle, seller can greatly multiply earnings when interest accrues during open period

high

Buyer can buy protection only for expected payment days by abusing renewals

medium

Protection too expensive when some capital is locked

medium

If unlocked capital in pool falls below minRequiredCapital, then protection can be bought for minimum premium

OpenQ

OpenQ

1,846.22 USDC • 5 total findings • Sherlock • jkoppel

#7

high

Post-contest refunds block tier winners in tiered percentage bounty from claiming funds

high

Rogue token can disable all claims from tiered percentage bounty

high

Refunds can be disabled by spamming deposits

high

Can steal funds from other winners in a tiered percentage bounty by sandwhiching closeCompetition with deposit/refund

medium

Can prevent NFT deposits by depositing then refunding NFTs