QA Report #202
Labels
bug
Something isn't working
QA (Quality Assurance)
Assets are not at risk. State handling, function incorrect as to spec, issues with clarity, syntax
Summary of Findings
Severity : Low
Issue #1 : Possibility of stale permissions in signing for old Owner in EasySign.sol
Issue #2 : Need to emit an event in function execute() in VoteProxy.sol
Details Issue#1
Title : Possibility of stale permissions in signing for old Owner in EasySign.sol
Impact
Stale permissions in signing for old Owner can cause malicious behavior.
In the EasySign.sol contract, as part of the constructor, the owner/deployer is whitelisted in the approvedTeam structure.
In the event of transfer of ownership of this Contract, the old owner will still be able to sign the winningSignature.
Unless explicitly disabled via the modifyTeam function. This is a possibility if a proper process is not followed.
This bug is to mitigate such a possibility by explicitly adding relevant code.
Proof of Concept
Contract : EasySign.sol
Function : isWinningSignature()
Recommended Mitigation Steps
Explicitly disable signing permission of old Owner, and enable signing permission to newOwner while a new owner is set.
Override the transferOwnership function in Ownable.sol with additional code
Details Issue#2
Title : Need to emit an event in function execute() in VoteProxy.sol
Impact
Need tracking of what command the owner executes in the VoteProxy.sol
Proof of Concept
Contract : VoteProxy.sol
Function : execute()
Recommended Mitigation Steps
Add an event in function execute(). Sample given below, more fields can be added as required.
The text was updated successfully, but these errors were encountered: