Closed howlbot-integration[bot] closed 1 month ago
Not a valid finding.
The asset blacklist is intended to cover assets that are problematic and we don't want people to create markets over for technical reasons (i.e. rebasing assets such as stETH due to how it breaks the underlying interest rate model), or ones which legal guidance suggests that it isn't prudent for Wildcat markets permitting credit denominated in them to exist.
With that said, the status of these assets on the blacklist has no bearing on whether or not they can be used as payment assets via origination fee. We can accept stETH no problems.
Also worth noting that the arch controller owner sets both the origination fee asset and the blacklist, so they could override it regardless.
Intended behavior as per sponsor's comment. Also worth noting: even if it wasn't, the root cause is missing validation on admin input (onlyArchControllerOwner
), so the finding would've been QA at best
3docSec marked the issue as unsatisfactory: Invalid
Lines of code
https://github.com/code-423n4/2024-08-wildcat/blob/fe746cc0fbedc4447a981a50e6ba4c95f98b9fe1/src/HooksFactory.sol#L120
Vulnerability details
Impact
The HooksFactory contract allows blacklisted assets to be set as origination fee assets when creating or updating hooks templates. This bypasses the intended blacklist restrictions, potentially enabling interaction with prohibited assets during market deployments. While the protocol controls the initial setting of the origination asset in templates, this vulnerability could lead to:
1: Regulatory compliance violations if blacklisted assets are used in market creations.
2: Undermining of the entire blacklist mechanism, reducing its effectiveness as a security measure.
3: Potential financial risks or loss of trust if markets are created using blacklisted assets.
4: Widespread impact, as multiple markets could be affected if created from a template with a blacklisted origination fee asset.
Proof of Concept
The following test demonstrates that a blacklisted asset can be successfully set as an origination fee asset in a hooks template:
Test Output
The test passes, confirming that a blacklisted asset (address 0x1) was successfully set as the origination fee asset in a new hooks template.
Tools Used
Manual review
Recommended Mitigation Steps
1: Modify the addHooksTemplate function in the HooksFactory contract to include a blacklist check:
2: Implement a mechanism to periodically check and potentially disable templates that use assets that have become blacklisted after template creation.
Assessed type
Other