CVE-2026-77999
Publiée le 2026-09-03 · Dernière modification le 2026-09-03
Les extensions J2Store pour Joomla (versions 1.0.0-3.3.21, 4.0.0-4.0.21 et 4.1.0-4.1.6) ne vérifient pas correctement les notifications de paiement PayPal. Un attaquant distant anonyme peut envoyer une requête falsifiée au serveur pour marquer une commande en attente comme payée sans dépenser d'argent, ou forcer l'échec de la commande d'un autre client. Cette faille est facile à exploiter car elle ne nécessite aucune authentification, aucune interaction de l'utilisateur et seulement un accès réseau basique à l'URL de rappel (callback) de la boutique.
DÉTAIL DU VECTEUR CVSS
RÉFÉRENCES
Description officielle du NVD (en anglais)
Joomla Extension - j2commerce.com - Unauthenticated PayPal callback forgery leading to order confirmation fraud in J2Store 1.0.0-3.3.21, 4.0.0-4.0.21, 4.1.0-4.1.6 - The PayPal IPN listener's signature check (`_validateIPN()`) accepted `UNVERIFIED` and any non-`INVALID` response as valid, made its verification request with `CURLOPT_SSL_VERIFYPEER` disabled, and stored its verdict in a field nothing downstream ever checked — so processing continued regardless of the outcome. Separately, the paid-amount comparison only ran when `mc_gross` was a positive number; omitting the field from the POST body (`floatval(null) == 0`) skipped the check entirely. Combined with a merchant-configured `receiver_email` and a sequential, enumerable order id read from the `custom` field, an anonymous POST was enough to move a pending order straight to `CONFIRMED` with no payment, or force another customer's pending order to `FAILED`. `paypalv2.php` performed no amount check under any circumstances.