
Prueba de concepto para CVE-2025-65094: escalada de privilegios mediante IDOR en WBCE CMS. Demuestra la manipulación de ID de grupo para obtener acceso de administrador, con análisis detallado y orientación de remediación.
| Campo | Detalles |
|---|---|
| ID de CVE | CVE-2025-65094 |
| Gravedad | HIGH |
| Aviso | Ver aviso |
| Descubierto por | Lukasz Rybak |
Un usuario con privilegios limitados en WBCE CMS puede escalar sus privilegios al grupo Administradores manipulando el parámetro groups[] en la petición /admin/users/save.php.
La interfaz restringe a los usuarios a asignar únicamente el grupo al que ya pertenecen, pero falta la validación en el lado del servidor, lo que permite a los atacantes sobrescribir su membresía de grupo y obtener acceso administrativo completo.
Esto resulta en un compromiso total del CMS.
Los mantenedores del proyecto han corregido el problema en el siguiente commit:
9604617Mensaje del commit relevante:
solo los administradores pueden asignar usuarios a cualquier grupo; los usuarios normales solo pueden asignarse a sí mismos y a otros usuarios a los grupos a los que ya pertenecen.
Esto aborda directamente el control de acceso inadecuado en la asignación de grupos.
WBCE CMS utiliza permisos de grupo para restringir el acceso a las funciones administrativas.
Se creó un grupo restringido (Users) con los siguientes permisos:
| Categoría de permiso | Configuración |
|---|---|
| Páginas | Ver |
| Medios | Ver |
| Complementos | Ver |
| Ajustes | Ver |
| Acceso → Usuarios | Ver + Modificar |
| Acceso → Grupos | Ver |
| Herramientas de administración | (ninguno) |
Esta configuración garantiza que los usuarios con privilegios limitados:
Su único permiso elevado es:
Usuarios → Modificar, pensado únicamente para editar su propia cuenta.
Al modificar su propio perfil mediante:
Acceso → Usuarios → Modificar usuario
el backend no valida si el valor groups[] enviado corresponde a las opciones de interfaz permitidas.
Un atacante puede interceptar y modificar la petición:
groups[]=2 → el atacante lo cambia a → groups[]=1
Esto asigna inmediatamente al usuario al grupo Administradores.
(como se confirma en el commit 9604617)
Los siguientes archivos participan en la asignación de grupos, pero anteriormente carecían de la lógica de autorización adecuada:
wbce/admin/users/index.phpwbce/admin/users/users.phpwbce/admin/users/save.phpLa corrección introduce validación en el lado del servidor que:
Esto confirma una vulnerabilidad de control de acceso inadecuado / IDOR en el proceso de asignación de grupos.
Configure un grupo llamado Usuarios con:
Navegue a:
Acceso → Usuarios → Modificar usuario
Intercepte la petición saliente utilizando un proxy como Burp Suite.
Parámetro original de la petición:
groups%5B%5D=2
Parámetro modificado de la petición:
groups%5B%5D=1
Cambiar el parámetro a 1 asigna al usuario al grupo Administradores.
Tras la reautenticación, el usuario obtiene acceso completo a las herramientas y funciones administrativas.
Esta es una vulnerabilidad de escalada de privilegios que permite a cualquier usuario autenticado con privilegios limitados:
Este CVE fue divulgado de manera responsable siguiendo prácticas coordinadas de divulgación de vulnerabilidades. La información aquí proporcionada tiene fines únicamente educativos y defensivos.