Una vulnerabilidad crítica en el plugin PayU CommercePro ha puesto en riesgo miles de sitios de WordPress al permitir que atacantes no autenticados secuestren cuentas de usuarios, según PatchStack.
La falla, descubierta en la versión 3.8.5, se debe a una lógica insegura en la ruta de la API /payu/v1/get-shipping-cost. Los atacantes pueden explotarla para suplantar la identidad de cualquier usuario registrado, incluidos los administradores del sitio, sin necesidad de credenciales de inicio de sesión.
Identificada como CVE-2025-31022, la vulnerabilidad se debe a la manipulación insegura de la función update_cart_data(). Esta función, que se supone procesa los detalles del pedido y el envío, acepta ID de usuario y establece datos de sesión sin verificar la identidad del usuario.
Dado que la llamada a la API solo busca un token válido vinculado a un correo electrónico codificado (commerce.pro@payu.in), un atacante puede generar un token válido utilizando otro endpoint expuesto, /payu/v1/generate-user-token. Con ese token, puede enviar una solicitud maliciosa que le otorga control sobre cualquier cuenta de usuario existente.
La explotación implica llamadas a la API encadenadas y correo electrónico codificado.
El ataque sigue estos pasos clave:
Generar un token de autenticación utilizando el correo electrónico codificado de confianza.
Llamar a la API de gastos de envío con el correo electrónico del usuario objetivo.
Activar la función vulnerable update_cart_data().
Obtener acceso a la cuenta de WordPress del usuario.
El plugin también elimina las cuentas temporales de invitado que crea, lo que reduce las posibilidades de detección. Esto añade un nivel de sigilo al exploit, permitiendo a los atacantes pasar desapercibidos tras la toma de control.
No se ha publicado ninguna solución tras el plazo de divulgación de 30 días
A pesar de los esfuerzos de divulgación responsables, el proveedor no ha publicado ninguna corrección.
«Si eres usuario de PayU CommercePro, desactiva y elimina el plugin», sugirió el equipo de Patchstack.
También se insta a los desarrolladores a auditar los endpoints de la API pública y eliminar las credenciales codificadas para evitar riesgos similares.