The vulnerability exists in the plugin/AuthorizeNet/processPayment.json.php script, which was intended to process payments through Authorize.Net but was left in an incomplete and insecure state. The script takes an amount parameter from the user's POST request and, without performing any actual payment verification with Authorize.Net, adds that amount to the user's wallet balance by calling YPTWallet::addBalance. The $paymentSuccess variable is hardcoded to true, bypassing any payment processing logic. The fix was to completely remove the vulnerable processPayment.json.php file, as seen in the commit 822402444b4db4e9442779c8c789ffe5312b3627. During exploitation, a profiler would show a call to YPTWallet::addBalance originating from the processPayment.json.php script. Therefore, YPTWallet::addBalance is the key function that an attacker would cause to be executed with malicious input to exploit this vulnerability.