The UpdateWeightRunner contract implements a centralized administrative control pattern where a single admin address has unrestricted and immediate control over critical protocol parameters, including fees, oracles, and pool permissions. This design creates a significant security risk as compromise of the admin key or malicious admin actions could lead to immediate protocol manipulation and potential loss of user funds.
Affected code sections:
Centralized Admin Control:
https://github.com/Cyfrin/2024-12-quantamm/blob/a775db4273eb36e7b4536c5b60207c9f17541b92/pkg/pool-quantamm/contracts/UpdateWeightRunner.sol#L104-L110
Pool Management:
https://github.com/Cyfrin/2024-12-quantamm/blob/a775db4273eb36e7b4536c5b60207c9f17541b92/pkg/pool-quantamm/contracts/UpdateWeightRunner.sol#L227-L231
The vulnerability occurs through:
Admin key compromise:
Attacker gains control of admin private key
Can immediately execute any admin function
No delay or additional verification required
Malicious admin actions:
Admin can set arbitrary fees up to 100%
Can add compromised oracles
Can disable critical pool functions
Changes take effect immediately
No safety mechanisms:
No timelock delays
No multi-signature requirements
No parameter bounds
No emergency pause functionality
The vulnerability has severe implications:
Financial Impact:
Immediate manipulation of fees up to 100%
Potential loss of user funds through excessive fees
Price manipulation through compromised oracles
Protocol Security:
Complete control over pool operations
Ability to add malicious oracles
Disable critical protocol functions
No recovery mechanism
Trust and Reputation:
Single point of failure risks
Potential permanent damage to protocol reputation
Loss of user confidence in protocol security
Manual code review
Implement Timelock Mechanism:
Add Multi-signature Requirements:
Implement Parameter Bounds:
Add Emergency Controls:
Implement Role-Based Access Control:
Here are few report discussing the risks of centralized admin control
https://solodit.cyfrin.io/issues/centralization-risks-with-a-lot-of-power-vested-in-the-reporter-role-cyfrin-none-casimir-markdown
https://solodit.cyfrin.io/issues/centralization-can-lead-to-unfair-changes-without-users-notice-zokyo-none-zap-markdown
Please read the CodeHawks documentation to know which submissions are valid. If you disagree, provide a coded PoC and explain the real likelyhood and the detailed impact on the mainnet without any supposition (if, it could, etc) to prove your point.
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.