the _inceaseAllowance function calculates the allowance for the spender address with additional
amount`
the LLMOracle is vulnerable to a well- known race condition in the ERC20 standard. This race condition can occur when a user calls the approve function of an ERC20 token, then calls a transferFrom on the same token.
before the `feeToken.approves the spender could call transferFrom between the allowance check and the approve, thereby transfering the allowance before the approval is made, this sets the allowance to 0
which makes possible to approve the initial allowance + amount
`
likelihood: medium, unintended funds get withdrawn from the contract.
Manual Review
The issue can be mitigated by the use of increaseAllowance and decreaseAllowance functions to modify the approvals.
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.