In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.
Test your applicationsUpgrade vyper to version 0.2.3 or higher.
vyper is a Pythonic Smart Contract Language for the EVM.
Affected versions of this package are vulnerable to Always-Incorrect Control Flow Implementation in make_return_stmt in vyper/codegen/return_.py when a return statement is executed inside a for loop, the loop's values are not popped from the stack before the function returns. This leaves the EVM stack in a corrupted state, causing incorrect behavior or a crash in contracts that use return inside a loop body.
Note: This is only exploitable in contracts that use return statements inside for loops, particularly in combination with nested calls.