
Exploit de prueba de concepto para una vulnerabilidad crítica de inyección SQL ciega basada en tiempo en WBCE CMS, que permite a usuarios con pocos privilegios ejecutar consultas SQL arbitrarias y exfiltrar contenidos de la base de datos.
| Campo | Detalles |
|---|---|
| ID de CVE | CVE-2025-65950 |
| Gravedad | CRÍTICA |
| Aviso | Ver aviso |
| Descubierto por | Lukasz Rybak |
Una vulnerabilidad crítica de inyección SQL en el módulo de gestión de usuarios permite que un usuario autenticado con privilegios bajos y permisos para modificar usuarios ejecute consultas SQL arbitrarias. Esto puede escalarse a un compromiso total de la base de datos y a la exfiltración de datos, eludiendo efectivamente todos los controles de seguridad.
La vulnerabilidad existe en el script admin/users/save.php, que gestiona las actualizaciones de los perfiles de usuario. El script procesa de forma incorrecta el parámetro groups[] enviado desde el formulario de edición de usuario.
La prueba de concepto consiste en utilizar una inyección SQL ciega basada en tiempo para confirmar la ejecución arbitraria de SQL.
users_modify). Este usuario no necesita ser un administrador completo.
Pasos para reproducir:
a. Inicie sesión como el usuario con privilegios bajos. b. Navegue a "Acceso" -> "Usuarios" y seleccione cualquier usuario para modificarlo.
c. Capture la solicitud POST enviada a /wbce/admin/users/save.php cuando se hace clic en el botón "Guardar".
d. Edite el parámetro `groups[]` con el siguiente payload codificado en URL, que intentará hacer que la base de datos espere 10 segundos: groups%5B%5D=2%27+%2C+%60active%60+%3D+SLEEP(10)+--+
*(Payload decodificado: 2' , `active` = SLEEP(10) -- )*
f. Envíe la solicitud modificada.
3. Verificación:
Ejemplo de exfiltración de datos: obtención del nombre de la base de datos
**Ejemplo de payload para probar un carácter:**
groups%5B%5D=2%27+%2C+%60active%60+%3D+IF(SUBSTRING(DATABASE()%2C+1%2C+1)+%3D+%27w%27%2C+SLEEP(5)%2C+0)+--+
Este proceso manual puede continuarse para revelar el nombre completo de la base de datos y, posteriormente, cualquier otro dato de la base de datos.
Un usuario con privilegios bajos, que solo debería poder realizar cambios benignos en los perfiles de usuario, puede obtener el control total de la base de datos.
El impacto incluye, entre otros:
Este CVE fue divulgado de forma responsable siguiendo prácticas de divulgación coordinada de vulnerabilidades. La información aquí proporcionada tiene fines exclusivamente educativos y defensivos.