Una vulnerabilidad de seguridad en el plugin RealHomes CRM, incluido en un tema de WordPress instalado en más de 30.000 sitios web, ha sido corregida tras descubrirse que permitía a usuarios con pocos privilegios cargar archivos maliciosos y tomar el control de los sitios afectados.
La vulnerabilidad afectaba a las versiones 1.0.0 y anteriores de RealHomes CRM y permitía a cualquier usuario registrado con acceso de nivel Suscriptor o superior cargar archivos arbitrarios a través de una función de importación CSV. Si se explotaba, este problema podría utilizarse para colocar código malicioso en el servidor y, en última instancia, provocar la toma de control total del sitio.
RealHomes CRM se incluye con el tema de WordPress RealHomes, desarrollado por InspiryThemes. Este tema se utiliza ampliamente para crear sitios web de bienes raíces y ofrece herramientas como búsqueda avanzada de propiedades, múltiples diseños de listado, envío y gestión desde el front-end, integración de pagos a través de PayPal y Stripe, y compatibilidad con constructores de páginas como Elementor.
La falla ha sido asignada como CVE-2025-67968 y fue descubierta y reportada por wackydawg, miembro de la comunidad Patchstack Alliance. Se localizó en una función AJAX responsable de manejar las cargas de archivos CSV.
Aunque la función utilizaba un nonce para la validación de la solicitud, ese nonce podía ser recuperado por usuarios de nivel Suscriptor tanto desde las páginas de administración como desde el front-end.
Por qué el mecanismo de carga era riesgoso
Un análisis más profundo reveló que el proceso de carga carecía de varios controles de seguridad básicos. En particular, no había una verificación para confirmar si un usuario tenía suficientes privilegios para realizar la acción, ni una validación de los tipos o extensiones de archivo antes de que se escribieran en el servidor.
Los problemas clave incluían:
-
Falta de comprobaciones de permisos para restringir el acceso a usuarios privilegiados
-
Aceptación de cargas de archivos arbitrarios en lugar de solo archivos CSV
-
Uso directo de la función de carga de archivos sin validación adicional
En respuesta, los desarrolladores lanzaron la versión 1.0.1 de RealHomes CRM, que introduce una comprobación de capacidad `current_user_can` para garantizar que solo los usuarios autorizados puedan acceder a la función de carga. El parche también agrega validación del tipo y la extensión del archivo utilizando la función `wp_check_filetype` de WordPress.
Esta revelación sirve como un recordatorio de que los nonces por sí solos no son un sustituto para un control de acceso adecuado. Como indica la documentación de WordPress, «los nonces nunca deben utilizarse para la autenticación, la autorización o el control de acceso».
Se recomienda a los usuarios de RealHomes CRM que actualicen a la última versión para reducir su exposición.
