Ad

CVE-2026-77999

HIGH CVSS 4.0: 8,7 EPSS 0.25%
Обновлено 3 сентября 2026
Joomla
Параметр Значение
CVSS 8,7 (HIGH)
Тип уязвимости CWE-472, CWE-602
Поставщик Joomla
Публичный эксплойт Нет

Расширение Joomla - j2commerce.com - Подделка обратного вызова PayPal без аутентификации, приводящая к мошенничеству с подтверждением заказа в J2Store 1.0.0-3.3.21, 4.0.0-4.0.21, 4.1.0-4.1.6 - Проверка подписи прослушивателя IPN PayPal (`_validateIPN()`) приняла `UNVERIFIED` и любой не`INVALID` ответ как действительный, сделал запрос на проверку с помощью `CURLOPT_SSL_VERIFYPEER` отключен и сохраняет свой вердикт в поле, которое ни одна из последующих версий никогда не проверяла, поэтому обработка продолжалась независимо от результата. Отдельно сравнение оплаченных сумм выполнялось только в том случае, если `mc_gross` был положительным числом; исключение поля из тела POST (`floatval(null) == 0`) полностью пропускает проверку. В сочетании с настроенным продавцом «receiver_email» и последовательным перечисляемым идентификатором заказа, считываемым из поля «custom», анонимного POST было достаточно, чтобы перевести отложенный заказ прямо в состояние «ПОДТВЕРЖДЕНО» без оплаты или принудительно перевести отложенный заказ другого клиента в состояние «FAILED». `paypalv2.php` ни при каких обстоятельствах не выполнял проверку суммы.

Показать оригинальное описание (EN)

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.

Характеристики атаки

Способ атаки
По сети
Атака возможна удалённо
Сложность
Низкая
Легко эксплуатировать
Условия для атаки
Не требуются
Нет дополнительных условий
Нужны права
Не требуются
Права не нужны
Участие пользователя
Не требуется
Не нужно действие пользователя

Последствия

Конфиденциальность
Нет
Нет утечки данных
Целостность
Высокое
Полная модификация данных
Доступность
Нет
Нет нарушения работы

Строка CVSS v4.0

Тип уязвимости (CWE)