code4rena-2023-01-biconomy-l09
[L-09] Missing Event for critical parameters init and change
Summary
중요한 작업을 하는 함수에서 이벤트를 찍지 않았다고 지적했다.
Keyword
event
Vulnerability
- contracts/smart-contract-wallet/SmartAccount.sol#L166-L176
- contracts/smart-contract-wallet/SmartAccountNoAuth.sol#L166-L176
function init(address _owner, address _entryPointAddress, address _handler) public override initializer {
require(owner == address(0), "Already initialized");
require(address(_entryPoint) == address(0), "Already initialized");
require(_owner != address(0),"Invalid owner");
require(_entryPointAddress != address(0), "Invalid Entrypoint");
require(_handler != address(0), "Invalid Entrypoint");
owner = _owner;
_entryPoint = IEntryPoint(payable(_entryPointAddress));
if (_handler != address(0)) internalSetFallbackHandler(_handler);
setupModules(address(0), bytes(""));
}중요한 작업을 하는 함수에서 이벤트를 찍지 않았다고 지적했다.
Impact
유저가 변화를 인지하지 못할 수 있다.
Mitigation
중요한 변경이 있을 때는 이벤트를 찍는다.
tags: bughunting, smart contract, biconomy, account abstraction, erc4337, solidity event, wallet, severity low