Anyone can cancel any proposals by calling DAO.cancelProposal(id, id) with oldProposalID == newProposalID.
This always passes the minority check as the proposal was approved.
An attacker can launch a denial of service attack on the DAO governance and prevent any proposals from being executed.
Recommend checking that oldProposalID == newProposalID
strictly-scarce (vader) confirmed:
strictly-scarce (vader) commented:
