The rankCandidatesBySig function lacks the inclusion of the nonce in signed messages, creating a vulnerability to potential signature replay attacks.
Signatures provide a means of cryptographic authentication in blockchain technology, serving as a unique “fingerprint”, forming the backbone of blockchain transactions. Signatures for previous or pending transactions can be replayed by attackers, if not handled correctly, meaning that attackers pass the validation checks and the malicious transactions are executed.
The absence of the nonce can allow attackers to repeatedly exploit captured signatures for fraudulent transactions.
Essentially a unique identifier or a 'number used once' for each transaction, a nonce is integral to security. Its absence can allow someone like Bob to repeatedly exploit Alice's captured signature for fraudulent transactions.
To mitigate this, include a mapping to keep track of each signer’s last used nonce:
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.