CVE-2026-19949: inyección SQL en All-in-One WP Migration y qué hacer
CVE-2026-19949 es una inyección SQL de segundo orden sin autenticación en el plugin de WordPress All-in-One WP Migration and Backup, y afecta a todas las versiones hasta la 7.109 incluida. ServMask la corrigió el 20 de agosto de 2026 con la versión 7.110, y el ataque puede terminar en la toma completa del sitio en cuanto un administrador restaura una copia de seguridad.
Actualiza primero el plugin a la 7.110 o posterior, porque solo la actualización elimina el fallo. El cortafuegos de ReportedIP Hive inspecciona las peticiones de trackback de las que depende el ataque, y ReportedIP Hive es gratuito en todos los planes.
¿Qué es CVE-2026-19949?
La vulnerabilidad CVE-2026-19949 de All-in-One WP Migration está en la forma en que el plugin reconstruye la base de datos al restaurar un archivo. Escribe valores del archivo en sentencias SQL sin prepararlos correctamente. En una inyección de segundo orden, la carga se guarda primero y solo se ejecuta más tarde, en otro proceso. El ataque tiene cuatro fases:
- El atacante envía trackbacks manipulados a una entrada pública. No hace falta iniciar sesión, y WordPress los guarda como comentarios normales.
- La carga queda en la base de datos sin hacer nada. Los escáneres que solo vigilan errores SQL inmediatos no ven nada raro.
- Un administrador exporta el sitio y vuelve a importar el archivo. Durante esta restauración, el valor guardado sale de la sentencia SQL y se ejecuta como consulta.
- La consulta lee la
ai1wm_secret_keydel plugin, el token que protege su función de importación. Con esa clave, un atacante puede subir un archivo preparado y ejecutar código en el servidor.
El investigador de seguridad Jack Taylor informó del fallo el 14 de agosto de 2026 a través del programa de bug bounty de Wordfence. Wordfence le asigna una puntuación de 8,8 (alta) en la escala CVSS, y la entrada de NVD sobre CVE-2026-19949 recoge la descripción oficial. Nuestra empresa hermana publicó un resumen en alemán: CVE-2026-19949 en CMS ADMINS.
¿Qué versiones de All-in-One WP Migration están afectadas?
| Versión | Estado | Publicada |
|---|---|---|
| 7.109 y anteriores | Vulnerable | Antes del 20 de agosto de 2026 |
| 7.110 | Corregida | 20 de agosto de 2026 |
| 7.111 | Corregida, actual | 15 de septiembre de 2026 |
El plugin tiene más de 5 millones de instalaciones activas. El 29 de septiembre de 2026, las estadísticas de versiones de wordpress.org mostraban un 45 por ciento de sitios en la 7.110 o la 7.111, así que más de la mitad seguía con una versión anterior. Wordfence publicó los detalles técnicos a principios de septiembre de 2026. En la entrada de NVD, CISA no registraba ninguna explotación conocida a fecha de 27 de agosto de 2026.
¿Qué debes hacer ahora?
- Actualiza All-in-One WP Migration a la 7.110 o posterior en cada sitio, en Plugins.
- Actualiza antes de la próxima exportación o importación. La inyección solo se dispara durante una restauración.
- Cierra los trackbacks si no los usas. El ajuste de WordPress en Ajustes → Comentarios solo se aplica a entradas nuevas. El interruptor de Hive Disable XML-RPC cierra también los pingbacks y trackbacks en todas las entradas existentes.
- Si restauraste un archivo con la versión 7.109 o anterior, haz las comprobaciones de la sección siguiente.
¿Cómo saber si tu sitio ha sido atacado?
- Trackbacks. Filtra la pantalla Comentarios por pings y busca trackbacks de sitios desconocidos, a menudo varios seguidos en la misma entrada.
- Comentarios tras una restauración. Un comentario nuevo aprobado con una cadena aleatoria larga puede contener la clave secreta filtrada.
- Plugins must-use. Revisa
wp-content/mu-pluginsen busca de archivos que nadie de tu equipo haya añadido. - Cuentas. Busca cuentas de administrador que nadie haya creado.
- Registro de eventos de Hive. Los bloqueos del cortafuegos en direcciones de trackback muestran qué direcciones IP intentaron colocar la carga.
Si encuentras alguna de estas señales, trata el sitio como comprometido. Restaura una copia limpia anterior al primer trackback sospechoso, actualiza el plugin y cambia todas las contraseñas de administrador.
¿Cómo gestiona ReportedIP Hive este ataque?
El cortafuegos de Hive está activado por defecto en todos los planes y funciona en modo de bloqueo. Comprueba la dirección, el cuerpo de la petición y el agente de usuario de cada petición de visitantes sin sesión iniciada, incluidas las peticiones de trackback. Con Extended Protection activada, la comprobación se hace antes de que cargue WordPress. La documentación del cortafuegos explica los conjuntos de reglas y las excepciones.
Para este ataque actúan dos niveles. La base que viene incluida en el plugin bloquea las formas habituales de inyección SQL en cada sitio, también en modo Local Shield. Desde septiembre de 2026, el conjunto de reglas firmado de ReportedIP incluye además la regla waf_sqli_trackback_2nd. Solo examina peticiones de trackback y detecta fragmentos SQL y secuencias de escape que un trackback normal nunca contiene. Los sitios en modo Community Network la reciben con la sincronización normal de reglas, también en el plan gratuito. Los sitios en modo Local Shield se quedan con la base incluida, consulta los modos de funcionamiento.
Hay un límite que vale para cualquier cortafuegos. La segunda fase, la restauración, se ejecuta dentro de PHP sin petición HTTP, así que ningún cortafuegos la ve. Bloquear los trackbacks detiene cargas nuevas. Los interruptores de bloqueo de acceso cierran por completo el punto de entrada, y la actualización del plugin es la solución. El caso wp2shell en el núcleo de WordPress siguió el mismo patrón: las reglas del cortafuegos protegieron los sitios hasta que se parchearon.
Preguntas frecuentes
¿Es seguro All-in-One WP Migration después de actualizar?
Las versiones 7.110 y posteriores no están afectadas por CVE-2026-19949, y la 7.111 del 15 de septiembre de 2026 es la versión actual. Las cargas colocadas antes ya no pueden ejecutarse en una versión corregida. Aun así, un sitio que restauró un archivo con la 7.109 o anterior debe revisarse en busca de claves filtradas, plugins must-use desconocidos y cuentas de administrador nuevas.
¿Estoy en riesgo si nunca restauro copias de seguridad?
La inyección solo se ejecuta con una exportación seguida de una importación, así que un sitio que nunca restaura no queda expuesto a este fallo. Los trackbacks guardados siguen en la base de datos, eso sí, y se disparan en la próxima restauración con una versión antigua. Una migración a un nuevo hosting cuenta como restauración. Actualiza el plugin ya en lugar de esperar a la próxima migración.
¿ReportedIP Hive sustituye la actualización del plugin?
Hive no sustituye la actualización, porque solo la versión 7.110 o posterior elimina el fallo. El cortafuegos inspecciona las peticiones de trackback que introducen la carga y puede cerrar los trackbacks con un solo interruptor. La restauración en sí se ejecuta sin petición HTTP, y ningún cortafuegos puede inspeccionar ese paso. Actualiza el plugin en cada sitio.