Delegate - gkrastenov's results

Securing onchain identities by linking cold and hot wallets

General Information

Platform: Code4rena

Start Date: 05/09/2023

Pot Size: $50,000 USDC

Total HM: 2

Participants: 16

Period: 6 days

Judge: GalloDaSballo

Total Solo HM: 2

Id: 284

League: ETH

Delegate

Findings Distribution

Researcher Performance

Rank: 16/16

Findings: 1

Award: $40.13

QA:
grade-b

🌟 Selected for report: 0

🚀 Solo Findings: 0

Findings Information

🌟 Selected for report: DadeKuma

Also found by: Brenzee, Fulum, gkrastenov, kodyvim, ladboy233, lodelux, lsaudit, p0wd3r, sces60107

Labels

bug
grade-b
QA (Quality Assurance)
Q-01

Awards

40.1294 USDC - $40.13

External Links

Low

[L-01] flahsloan function work with expired token

Impact

Tokens that have already expired should be used in the flashloan function. An already expired token should only be withdrawn and extended by the principal token owner. Delegate token owners or approved operators should not have the possibility to borrow their underlying tokens for the duration of a single atomic transaction because their rights for the token have expired.

[L-02] Expired token can be approved and transfer

Impact

It is possible to approve a token or use transferFrom to transfer it to another address that has already expired. An expired token should only be withdrawn and extended by the principal token owner

Recommendation

Add an additional check to determine if the token is expired.

Non-critical

[NC-01] Redundant if condition

Impact

The If condiiton

if (underlyingAmount != 0) { //@audit nc: this is useless for erc721
            revert Errors.WrongAmountForType(IDelegateRegistry.DelegationType.ERC721, underlyingAmount);
        }

is redundant in the checkERC721BeforePull function. In this function, underlyingAmount will always be different from 0 and even if it is equal to 0, it will not affect other parts of the codebase.

[NC-02] Possible approving to zero address and msg.sender

Impact

It is possible to approve the address(0) or the msg.sender in the setApprovalForAll function.

#0 - GalloDaSballo

2023-09-24T17:47:45Z

L-1 L

L-2 L

NC-1 NC

NC-2 OOS

#1 - GalloDaSballo

2023-10-02T08:19:37Z

1L + 3 from dups

3L +3

#2 - c4-judge

2023-10-02T09:15:44Z

GalloDaSballo marked the issue as grade-b

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