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.