ampleforth / token-geyser-v2

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

UVT-03: Potential Misbehaviour of the System

thegostep opened this issue · comments

type severity location
Logical Issue Minor https://github.com/ampleforth/token-geyser-v2/blob/c970676aaecb08e942fe1088a4b1ddcb26655fe6/contracts/UniversalVault.sol%23L278-L293

Description:

The externalCallsMulti function iterates and executes all calls provided to it before evaluationg that the balance sheet of the vault is correct and finalizing the function's execution. This allows one to actually withdraw tokens and utilize them prior to returning them in the sequence of external calls performed by the contract which may be an undesired capability of the system.

Recommendation:

We advise that this feature is documented if desired or prohibited by evaluating the balance sheet on each invocation.

I believe this is also possible through the externalCall() function if using a proxy on the other side.

In any case, will document.