Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en LimeSurvey (CVE-2026-50636)

Gravedad CVSS v4.0:
ALTA
Tipo:
CWE-89 Neutralización incorrecta de elementos especiales usados en un comando SQL (Inyección SQL)
Fecha de publicación:
09/06/2026
Última modificación:
23/07/2026

Descripción

Los métodos de la API RemoteControl invite_participants y remind_participants pasan un array de ID de token proporcionado por el llamador a TokenDynamic::findUninvited(), que concatena los valores directamente en una cláusula SQL tid IN ('...') sin parametrización o validación de entrada. Un atacante remoto y autenticado que posee el permiso tokens/update en una encuesta puede inyectar un elemento de array manipulado para realizar una inyección SQL. Debido a que LimeSurvey configura su conexión PDO con sentencias preparadas emuladas (emulatePrepare = true) y no deshabilita las multi-sentencias de MySQL, la inyección soporta consultas apiladas: el atacante puede añadir sentencias adicionales arbitrarias (INSERT/UPDATE/DELETE/DROP/CREATE) después del SELECT original. Esto permite tanto la lectura arbitraria de cualquier dato en la base de datos, como hashes de contraseña bcrypt de administrador (lime_users), PII de respuestas de encuestas, registros de sesión y configuraciones globales, todo recuperable a través de un oráculo ciego basado en tiempo SLEEP(), como la escritura/destrucción arbitraria de esos datos, incluyendo la sobrescritura directa del hash de contraseña del administrador para una toma de control de cuenta inmediata o la eliminación/truncamiento de tablas. Las lecturas y escrituras se extienden a cualquier esquema al que el usuario de la base de datos de la aplicación pueda acceder. La interfaz RemoteControl (RPCInterface = json/xml) debe estar habilitada, lo cual no es la configuración predeterminada.