Пакет Laravel Goodoneuz/pay-uz (<= 2.2.24) содержит критическую уязвимость в конечной точке /pay/api/editable/update, которая позволяет неаутентифицированным злоумышленникам перезаписывать существующие файлы перехватчиков платежей PHP. Конечная точка предоставляется через Route::any() без промежуточного программного обеспечения для аутентификации, что обеспечивает удаленный доступ без учетных данных. Управляемый пользователем ввод напрямую записывается в исполняемые файлы PHP с помощью file_put_contents().
Эти файлы позже выполняются с помощью require() во время обычных рабочих процессов обработки платежей, что приводит к удаленному выполнению кода при поведении приложения по умолчанию. Токен платежного секрета, упомянутый поставщиком, не связан с этой конечной точкой и не устраняет уязвимость.
Показать оригинальное описание (EN)
The goodoneuz/pay-uz Laravel package (<= 2.2.24) contains a critical vulnerability in the /payment/api/editable/update endpoint that allows unauthenticated attackers to overwrite existing PHP payment hook files. The endpoint is exposed via Route::any() without authentication middleware, enabling remote access without credentials. User-controlled input is directly written into executable PHP files using file_put_contents(). These files are later executed via require() during normal payment processing workflows, resulting in remote code execution under default application behavior. The payment secret token mentioned by the vendor is unrelated to this endpoint and does not mitigate the vulnerability.
Характеристики атаки
Последствия
Строка CVSS v4.0