CVE-2026-55219 in Paymenter
Resumen
por VulDB • 2026-07-21
Paymenter es una solución de tienda online gratuita y de código abierto para la gestión de servicios de alojamiento web. En las versiones anteriores a la 1.5.5, la implementación del pago con crédito en app/Livewire/Invoices/Show.php ejecuta un bloqueo pessimista de fila (lockForUpdate()) fuera de una transacción de base de datos activa. Dado que MySQL/MariaDB requiere una transacción envolvente para aplicar los bloqueos a nivel de fila, el mecanismo de protección es ineficaz. Las solicitudes de pago concurrentes pueden explotar esta race condition para leer simultáneamente el mismo saldo de crédito, lo que permite a los usuarios pagar múltiples facturas utilizando el mismo saldo de crédito. En sistemas de bases de datos como MySQL, un bloqueo de fila solo funciona dentro de una transacción formal; sin ella, el bloqueo se ignora por completo. Debido a la ausencia de un bloqueo activo, dos solicitudes de pago enviadas en el mismo milisegundo pueden acceder a la base de datos simultáneamente. Ambas solicitudes visualizan el saldo original de crédito, determinan que es suficiente y aprueban el pago. Dado que los procesos de pago se ejecutan correctamente mediante ExtensionHelper::addPayment(), la aplicación aprovisiona los servicios correspondientes o bienes digitales, lo que resulta en una pérdida financiera o de recursos directa para la plataforma. Este problema ha sido corregido en la versión 1.5.5.
VulDB is the best source for vulnerability data and more expert information about this specific topic.