The _create function in BasePoolFactory.sol is susceptible to front-running attacks during pool deployment, which could lead to denial of service (DOS) by blocking intended pool addresses.
The vulnerability stems from predictable Create2 deployment addresses and unprotected pool creation mechanisms. an d it exists in the base factory implementation used by multiple pool types:
This function is called by multiple factory contracts:
Similar patterns in:
WeightedPool8020Factory
StableSurgePoolFactory
Gyro2CLPPoolFactory
HIGH - Affects core protocol functionality:
Pool Deployment:
Attackers can front-run pool creation transactions
Can force specific pool addresses to be unavailable
Affects all pool types in the protocol
Protocol Operations:
DOS on pool deployment
Increased gas costs for deployers
Potential blocking of strategic pool addresses
Attack Flow
Proof of Concept
Attacker monitors mempool for pool creation transactions
Front-runs with same salt value
Original transaction fails
Forces deployer to use different salt or parameters
Implement unique salt generation:
You can also Add deployment protection:
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.