Skip to content
Fencer Vulns
high 8.1

CVE-2020-8818 json

Origin Validation Error in Magento 2

published 2020-02-25 6 y ago modified 2026-06-17 4 mo ago also GHSA-qf6q-qfwp-vp44 , EUVD-2021-2249

cvss
8.1
version 3.1, NVD
cisa kev
Not listed
not in CISA's catalog
epss
4.2%
EPSS 4.2% chance of exploitation in 30 days, percentile 90%
public exploits
0
none known

Summary

An issue was discovered in the CardGate Payments plugin through 2.0.30 for Magento 2. Lack of origin authentication in the IPN callback processing function in Controller/Payment/Callback.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.

Patch / fix

  • packagist cardgate/magento2 2.0.33

Exploit prediction

4.17% chance of exploitation in the next 30 days, higher than 90% of all scored CVEs (FIRST EPSS, 2026-11-08).

Exploits and checks

  • github.com https://github.com/cardgate/magento2/blob/715979e54e1a335d78a8c5586f9e9987c3bf94fd/Controller/Payment/Callback.php#L88-L107 referenced PoC, tagged "exploit" by a source, unverified
  • github.com https://github.com/cardgate/magento2/issues/54 referenced PoC, tagged "exploit" by a source, unverified
  • packetstormsecurity.com http://packetstormsecurity.com/files/156505/Magento-WooCommerce-CardGate-Payment-Gateway-2.0.30-Bypass.html referenced PoC, tagged "exploit" by a source, unverified

CVSS scores

assigned by version score vector
NVD 3.1 8.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
NVD 2.0 5.5 AV:N/AC:L/Au:S/C:P/I:P/A:N
GitHub 3.1 8.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N

Affected packages

ecosystem package affected fixed in
packagist cardgate/magento2
<2.0.33
2.0.33

Classification

Weakness

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.