Vulnerabilidad crítica en GiveWP permite ejecución de comandos en servidores WordPress

Una vulnerabilidad de severidad máxima en el plugin GiveWP para WordPress permite a un atacante no autenticado ejecutar comandos arbitrarios en el servidor de alojamiento. El problema, identificado como CVE-2026-82222, afecta a GiveWP hasta la versión 4.16.7.1. Fue reportado por el investigador de bugs Udin Chan el 28 de julio a través de la plataforma Patchstack. GiveWP cuenta con más de 100,000 instalaciones y se utiliza para recaudar donaciones y gestionar campañas de recaudación de fondos.

Según Patchstack, la explotación encadena tres fallos: un asistente inseguro para deserializar datos PHP, un flujo de procesamiento de donaciones que almacena objetos serializados controlados por el atacante, y una cadena de gadgets en las bibliotecas incluidas que permite invocar comandos arbitrarios del sistema. La explotación exitosa depende de que el atacante tenga una cuenta en el sitio objetivo, pero una acción de registro no autenticada expuesta permite crear una cuenta incluso si el registro está deshabilitado.

GiveWP expone una acción de registro no autenticada (give_action=user_register) que nunca consulta la opción users_can_register de WordPress. Incluso en un sitio con el registro deshabilitado, el atacante puede crear una cuenta y recibir una cookie de autenticación, y luego llevar a cabo el resto del ataque en la misma secuencia.

Después de autenticarse, los atacantes pueden almacenar un objeto serializado malicioso en su perfil e inyectarlo en la base de datos de sesiones del plugin mediante una donación manipulada. El servidor escribe el gadget en wp_give_sessions antes de devolver un HTTP 500. Al solicitar cualquier página de front-end con la cookie de autenticación, el servidor deserializa el gadget y ejecuta el comando del atacante.

Las versiones 4.16.6 a 4.16.7.1 siguen siendo vulnerables, aunque la explotación requiere que el sitio contenga un formulario de donación heredado sin 'formBuilderSettings'. Patchstack comenta que estas condiciones pueden darse en instalaciones actualizadas, sitios que usan el editor de formularios basado en opciones, o al importar o restaurar formularios antiguos.

GiveWP corrigió la vulnerabilidad en la versión 4.16.7.2, lanzada el 27 de agosto, bloqueando datos serializados durante el procesamiento de donaciones y restringiendo la creación de objetos en varios puntos de deserialización. La actualización también elimina objetos serializados ya almacenados en bases de datos afectadas. Sin embargo, Patchstack señala que la acción de registro sigue sin respetar la configuración de WordPress, pero ya no es explotable para ejecución de código.

Se insta a los administradores de sitios web que utilicen GiveWP a aplicar las actualizaciones de seguridad lo antes posible para evitar la explotación de CVE-2026-82222. El año pasado, hackers atacaron GiveWP para vulnerar indirectamente Pi-hole, un bloqueador de anuncios a nivel de red, exponiendo nombres y correos electrónicos de 30,000 donantes.

article image
article image

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *