En resumen (TL;DR):
- Vulnerabilidad crítica de SQL injection en QSM versiones ≤10.3.1, afecta a más de 40.000 sitios.
- Usuarios con rol Subscriber o superior pueden extraer datos sensibles de la base de datos.
- Solución inmediata: Actualiza a la versión 10.3.2 o superior.
Una vulnerabilidad crítica de SQL injection ha sido detectada en el popular plugin Quiz and Survey Master (QSM) para WordPress, poniendo en riesgo la seguridad de miles de sitios web. Este fallo permite a usuarios autenticados con permisos mínimos comprometer bases de datos completas, lo que representa una amenaza grave para administradores y desarrolladores.
Vulnerabilidad crítica en QSM: detalles técnicos
El plugin QSM, utilizado por más de 40.000 instalaciones activas para crear quizzes, encuestas y formularios con funciones avanzadas como soporte multimedia y constructor drag-and-drop, presenta un fallo en su función REST API qsm_rest_get_question. El parámetro is_linking no se valida ni sanitiza correctamente antes de incluirse en una consulta SQL, permitiendo inyecciones maliciosas.
En versiones 10.3.1 y anteriores, cualquier usuario logueado con rol Subscriber o superior puede inyectar comandos SQL y extraer información sensible de la base de datos.
La vulnerabilidad, identificada como CVE-2025-67987 y CVE-2025-9318, fue descubierta por Doan Dinh Van de la Patchstack Alliance y reportada responsablemente el 21 de noviembre de 2025. El parche se lanzó el 4 de diciembre de 2025 en la versión 10.3.2, que fuerza la conversión del parámetro a entero con intval.
Tabla de versiones afectadas y soluciones
| Versión | Estado | Acción recomendada |
|---|---|---|
| <= 10.3.1 | Vulnerable | Actualizar inmediatamente |
| 10.3.2 y superior | Segura | Mantener actualizada |

Análisis de impacto y vectores de ataque
- Impacto: Extracción de credenciales, datos personales y contenido confidencial de la base de datos WordPress.
- Requisitos del atacante: Acceso autenticado como Subscriber o superior; no necesita privilegios admin.
- Vector: Ataques time-based blind SQLi vía endpoint REST, manipulando is_linking con delays para extraer datos carácter por carácter.
- Alcance: Más de 40.000 sitios expuestos; riesgo elevado en sitios con usuarios registrados masivos.
No se reportan exploits activos hasta la fecha, pero la accesibilidad del fallo lo hace altamente explotable.
Pasos para proteger tu sitio WordPress
- Actualización prioritaria: Instala QSM 10.3.2 desde el repositorio oficial de WordPress.
- Auditoría de usuarios: Revisa cuentas Subscriber sospechosas y elimina accesos no autorizados.
- Medidas adicionales: Desactiva temporalmente el plugin si no puedes actualizar; habilita WAF y monitorea logs.
- Mejores prácticas: Usa siempre prepared statements en consultas SQL personalizadas y valida todos los inputs.
Actúa de inmediato para evitar compromisos en tu plataforma.