#0204
Your platform lets users personalise their wallet — rename it, change the display currency. The wallet-update endpoint however passes the entire request body straight into the update handler.
An attacker includes a 'balance' field in the update request and sets it to an arbitrarily large number, giving themselves free credit.
Allowing balance modifications through mass assignment is equivalent to giving every user a direct database write. Even small oversights here can cost a business significant money.
updateWallet('u1', { balance: 999999 }, accounts)// returns wallet with original balance