Origin validation error in CardGate module for Magento 2 - CVE-2020-8818
Published: March 2, 2020 / Updated: June 17, 2021
Vulnerability identifier: #VU25725
CSH Severity: Medium
CVSS v4: 6.9 [CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N]
CVE-ID: CVE-2020-8818
CWE-ID: CWE-346
Exploitation vector: Remote access
Exploit availability:
Public exploit is available
Vulnerability details
The vulnerability allows a remote attacker to compromise the target system.
The vulnerability exists due to a lack of origin authentication at IPN callback processing function in "Controller/Payment/Callback.php" file. A remote attacker can replace critical plugin settings (merchant id, secret key etc) with known to him and therefore bypass payment process (eg. spoof order status by manually sending IPN callback request with a valid signature but without real payment) and/or receive all subsequent payments (on behalf of the store).Affected software
CardGate module for Magento 2
How to mitigate CVE-2020-8818
Install updates from vendor's website.
CardGate module for Magento 2 - update to 2.0.31
Links to Public Exploits and PoC-codes
External References
- https://github.com/cardgate/magento2/issues/54
- https://snyk.io/vuln/SNYK-PHP-CARDGATEMAGENTO2-552157
- https://www.exploit-db.com/exploits/48135
- https://github.com/cardgate/magento2/pull/53/commits/93fb0d1de8c3b85d72d986e46bdf97db5206efda
- https://github.com/cardgate/magento2/pull/53
- https://github.com/cardgate/magento2/blob/715979e54e1a335d78a8c5586f9e9987c3bf94fd/Controller/Payment/Callback.php#L88-L107