The VoterUpgradeableV2.createV3Gauge
function incorrectly uses v2GaugeFactory
instead of v3GaugeFactory
#17
Labels
2 (Med Risk)
Assets not at direct risk, but function/availability of the protocol could be impacted or leak value
bug
Something isn't working
downgraded by judge
Judge downgraded the risk level of this issue
M-02
🤖_primary
AI based primary recommendation
satisfactory
satisfies C4 submission criteria; eligible for awards
selected for report
This submission will be included/highlighted in the audit report
sponsor confirmed
Sponsor agrees this is a problem and intends to fix it (OK to use w/ "disagree with severity")
Lines of code
https://github.com/code-423n4/2024-09-fenix-finance/blob/main/contracts/core/VoterUpgradeableV2.sol#L324
Vulnerability details
Impact
The gauges for the V3 pool are managed incorrectly by
v2GaugeFactory
rather thanv3GaugeFactory
.Proof of Concept
In the
VoterUpgradeableV2.createV3Gauge
function,v2GaugeFactory
is used instead of the appropriatev3GaugeFactory
.As a result,
v2GaugeFactory
manages the gauges for the V3 pool instead ofv3GaugeFactory
. TheGaugeFactoryUpgradeable
contract includes thedefaultBlastGovernor
andmerklGaugeMiddleman
variables, and thecreateGauge
function initializes the gauge using these variables.Tools Used
Manual Review
Recommended Mitigation Steps
It is recommended to change the code in the
createV3Gauge
function as following:Assessed type
Other
The text was updated successfully, but these errors were encountered: