The mint()
function in the WStETHMock.sol
and stETHMock.sol
contract is missing proper access control, anyone can mint WStETHMock
or stETHMock
tokens.
Both contracts allows anyone can mint tokens, but this action should only performed by the allowed authority such as the bridge, or through the Lido protocol.
https://github.com/Cyfrin/2024-01-Morpheus/blob/76898177fbedcbbf4b78b513d9fa151bbf3388de/contracts/mock/tokens/StETHMock.sol#L19
https://github.com/Cyfrin/2024-01-Morpheus/blob/76898177fbedcbbf4b78b513d9fa151bbf3388de/contracts/mock/tokens/WStETHMock.sol#L15
Severe impact as anyone can mint WStETHMock
and stETHMock
Manual review
Add proper access control for the minting of the token. Only a bridge contract or the Lido protocol should be able to mint.
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.