K1ValidatorFactory can be grief attacked by malicious user leading to the factory be throttled/banned, due to that the error thrown by onInstall()
function in K1_VALIDATOR
is not properly handled.
K1ValidatorFactory
manages the creation of Modular Smart Accounts compliant with ERC-7579 and ERC-4337 using a K1 validator, when createAccount() is called to create a Nexus account, K1_VALIDATOR
is used as validator configuration to generate bootstrap data.
Then the newly created Nexus account is to be initialized and the K1_VALIDATOR
is installed in onInstall() function:
Please notice that it requires the account owner is EOA or the transaction will be reverted. A malicious user can submit a userOp to create a Nexus account with a pre-calculated owner address through K1ValidatorFactory
, this userOp will pass bundler simulation and validation loop.
However, before the bundler runs debug_traceCall
and includes the transaction in a block, the malicious can front-run to deploy a contract on the owner address by using CREATE2. As a result, the `debug_traceCall
` call will fail, and according to ERC-4337 Specification, K1ValidatorFactory
will be issued a 'ban', the the factory's reputation is decreased and it may be eventually be throttled/banned.
If the error is caused by a factory or a paymaster, and the sender of the UserOp is not a staked entity, then issue a “ban” (see “Reputation, throttling and banning”) for the guilty factory or paymaster.
Likewise, BiconomyMetaFactory may also be throttled/banned if the malicious user calls deployWithFactory() to exploit.
K1ValidatorFactory can be throttled/banned.
Manual Review
When K1 validator is installed, do not revert but return early if EOA check is fail.
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.