An issue was discovered in the CardGate Payments plugin through 3.1.15 for WooCommerce. Lack of origin authentication in the IPN callback processing function in cardgate/cardgate.php allows an attacker to remotely replace critical plugin settings (merchant ID, secret key, etc.) and therefore bypass the payment process (e.g., spoof an order status by manually sending an IPN callback request with a valid signature but without real payment) and/or receive all of the subsequent payments.
packetstormsecurity.com/files/156504/WordPress-WooCommerce-CardGate-Payment-Gateway-3.1.15-Bypass.html
github.com/cardgate/woocommerce
github.com/cardgate/woocommerce/blob/f2111af7b1a3fd701c1c5916137f3ac09482feeb/cardgate/cardgate.php#L426-L442
github.com/cardgate/woocommerce/issues/18
github.com/cardgate/woocommerce/pull/17/commits/0b83588d604c8c56c7fded43144fcced96b2ada9
nvd.nist.gov/vuln/detail/CVE-2020-8819
wpvulndb.com/vulnerabilities/10097
www.exploit-db.com/exploits/48134