The StabilityPool.sol contract is meant to be upgradable, but it initializes an immutable variable _initialOwner through the constructor.As proxies never calls the constructor, this variable remains uninitialized and is passed through the contracts initialize()function where it initializes the owner __Ownable_init(_initialOwner).
https://github.com/Cyfrin/2025-02-raac/blob/89ccb062e2b175374d40d824263a4c0b601bcb7f/contracts/core/pools/StabilityPool/StabilityPool.sol#L59
manual review
use _disableInitializers() inside the constructor.
move the initialization of the owner to the initialize() function and change the private immutable _initialOwner to a private initialOwner variable.
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.