Function WeatherNft::performUpkeep
calls function `` that initiates sending request to Chainlink:
When a request to Chainlink is fulfilled, some LINK tokens are transferred from the contract owner subscription as a fee. Since the function does not have any access control, any user can call it as many times as they want, thus wasting LINK tokens from the contract owner subscription.
Likelihood: High
Any user can perform upkeep for any token at any time.
Impact: Medium
LINK from the contract owner subscription is spent every time a request is sent and fulfilled. On the other hand, the attacker pays for gas for every call.
Add validation that performUpkeep
can be called only by keeper registry.
The `performUpkeep` function should be called by the Chainlink keepers or owners of the NFT. But there is no access control and anyone can call the function. This leads to malicious consumption of the user's LINK deposit.
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.