PoolTogether TwabRewards contest - pauliax's results

A protocol for no loss prize savings on Ethereum

General Information

Platform: Code4rena

Start Date: 09/12/2021

Pot Size: $25,000 USDC

Total HM: 12

Participants: 25

Period: 4 days

Judge: LSDan

Total Solo HM: 4

Id: 64

League: ETH

PoolTogether

Findings Distribution

Researcher Performance

Rank: 10/25

Findings: 4

Award: $799.95

🌟 Selected for report: 1

🚀 Solo Findings: 0

Findings Information

🌟 Selected for report: johnnycash

Also found by: WatchPug, csanuragjain, gpersoon, gzeon, harleythedog, kemmio, kenzo, leastwood, pauliax

Labels

bug
duplicate
3 (High Risk)

Awards

108.6174 USDC - $108.62

External Links

Handle

pauliax

Vulnerability details

Impact

Anyone can createPromotion with any arbitrary _ticket supposed it follows the proposed interface. Thus, it is possible to create a promotion with a malicious ticket that returns arbitrary values for getAverageBalanceBetween and getAverageTotalSuppliesBetween. When claiming the rewards, a malicious user can drain the contract by claiming more tokens than were transferred initially on createPromotion.

Depending on the intentions, you can add auth checks on createPromotion, or add balance assertions that more tokens than entitled are not claimed from the promotion.

#0 - PierrickGT

2021-12-13T22:17:17Z

Findings Information

🌟 Selected for report: pmerkleplant

Also found by: GiveMeTestEther, WatchPug, defsec, pauliax

Labels

bug
duplicate
3 (High Risk)

Awards

510.9568 USDC - $510.96

External Links

Handle

pauliax

Vulnerability details

Impact

Deflationary (fee on transfer) / rebasing tokens are not supported. Because anyone can createPromotion with an arbitrary token, such tokens may be lost forever.

Consider checking the actual amounts transferred (balance before/after) if you want to include such tokens in promotions.

#0 - PierrickGT

2021-12-13T22:20:23Z

AuditHub

A portfolio for auditors, a security profile for protocols, a hub for web3 security.

Built bymalatrax © 2024

Auditors

Browse

Contests

Browse

Get in touch

ContactTwitter