curve pool's emergency_admin can kill a curve pool
Summary
curve pool's emergency_admin action can lead to the fund of Zivoe protocol and its users being stuck, resulting in DAO being unable to push/pull assets from OCY_Convex_C and OCY_Convex_A.
Vulnerability Detail
Per the contest page, the admins of the protocols that Zivoe integrates with are considered "RESTRICTED". This means that any issue related to curve pool's emergency_admin action that could negatively affect Zivoe protocol/users will be considered valid in this audit contest.
Q: Are the admins of the protocols your contracts integrate with (if any) TRUSTED or RESTRICTED?
RESTRICTED
AND:
Q: In case of external protocol integrations, are the risks of external contracts pausing or executing an emergency withdrawal acceptable? If not, Watsons will submit issues related to these situations that can harm your protocol's functionality.
Not acceptable
Currently, curve pool's emergency_admin can force kill a curve pool.
Pool and Gauge proxies usually have three different admins (representing the different agents of curve):
ownership_admin: controls most functionality; requires a 30% quorum with 51% support
parameter_admin: authority to modify parameters on pools; requries a 15% quorum with 60% support
emergency_admin: limited authority to kill pools and gauges under certain circumstances
Once a pool is killed, zivoe DAO can no longer push/pull tokens from that OCY_Convex.
Impact
Once a pool is killed, all the fund of Zivoe protocol and its users put in it will be stuck, resulting in users being unable to withdraw their assets.
BoRonGod
medium
curve pool's emergency_admin can kill a curve pool
Summary
curve pool's
emergency_admin
action can lead to the fund of Zivoe protocol and its users being stuck, resulting in DAO being unable to push/pull assets from OCY_Convex_C and OCY_Convex_A.Vulnerability Detail
Per the contest page, the admins of the protocols that Zivoe integrates with are considered "RESTRICTED". This means that any issue related to curve pool's emergency_admin action that could negatively affect Zivoe protocol/users will be considered valid in this audit contest.
AND:
Currently, curve pool's emergency_admin can force kill a curve pool.
According to curve doc:
Once a pool is killed, zivoe DAO can no longer push/pull tokens from that OCY_Convex.
Impact
Once a pool is killed, all the fund of Zivoe protocol and its users put in it will be stuck, resulting in users being unable to withdraw their assets.
Code Snippet
https://docs.curve.fi/curve_dao/ownership-proxy/overview/?h=emergency#curve-dao-protocol-ownership https://etherscan.io/address/0xb30da2376f63de30b42dc055c93fa474f31330a5#code
Tool used
Manual Review
Recommendation
Ensure that the protocol team and its users are aware of the risks of such an event and develop a contingency plan to manage it.
Duplicate of #657