Respuesta rápida: CVE-2026-19949 es una inyección SQL de segundo orden en All-in-One WP Migration and Backup, calificada con CVSS 8.8 (alta). Afecta a versiones 7.109 y anteriores; la 7.110 contiene la corrección. El plugin supera los 5 millones de instalaciones activas, pero eso no significa que cinco millones de sitios hayan sido comprometidos.
Datos verificados el 2 de septiembre de 2026. La divulgación pública disponible describe una cadena condicional: el atacante planta datos mediante trackbacks y el payload se ejecuta después, cuando un administrador exporta y vuelve a importar o restaura el sitio.
El alcance real, en números
| Dato | Valor verificado | Qué significa |
|---|---|---|
| Instalaciones activas | Más de 5 millones | Superficie potencial del plugin, no víctimas confirmadas |
| Severidad | CVSS 8.8 / Alta | Impacto importante con condiciones de ataque |
| Versiones afectadas | ≤ 7.109 | Requieren actualización |
| Versión corregida | 7.110 | Publicada el 20 de agosto de 2026 |
| Recompensa al investigador | US$5,761 | Dato del programa de Wordfence |
| Sitios comprometidos | No publicado | No hay una cifra pública verificable |
Wordfence recibió el reporte el 14 de agosto, notificó al proveedor el 15, obtuvo acuse el 17 y la versión 7.110 fue publicada el 20. El changelog oficial resume la corrección como un ajuste a “find and replace” en valores que terminan con una barra invertida. La investigación técnica completa fue publicada el 1 de septiembre.
Por qué es una inyección SQL “de segundo orden”
En una SQLi clásica, una entrada maliciosa alcanza una consulta vulnerable de inmediato. Aquí la entrada se almacena primero y se vuelve peligrosa en una operación posterior. La cadena descrita es:
- El atacante localiza una entrada pública con pings habilitados.
- Envía dos trackbacks no autenticados preparados para dejar datos con una barra invertida final y una URL manipulada.
- WordPress guarda esos datos.
- Más tarde, un administrador exporta el sitio y después importa o restaura ese archivo con el plugin vulnerable.
- Durante el reemplazo de datos, el valor almacenado alcanza la consulta vulnerable.
- El atacante puede intentar extraer
ai1wm_secret_key, usarla contra el flujo de importación y cargar un archivo.wpressmanipulado con un MU plugin malicioso.
La consecuencia puede escalar de SQL injection a ejecución de código con el usuario del servidor web y control total de WordPress. Sin embargo, la secuencia importa: no es una toma de control instantánea de cualquier instalación. Requiere el estado vulnerable, entradas públicas con pings y una exportación/restauración posterior a la siembra.
Cómo verificar si tu instalación está afectada
Desde WordPress, abre Plugins → Plugins instalados. Con WP-CLI:
wp plugin get all-in-one-wp-migration --fields=name,status,version,update
Si muestra 7.109 o una versión inferior, actualiza. Si el plugin está desactivado pero estuvo activo durante la ventana, revisa también el historial de backups y restauraciones.
Cómo corregir CVE-2026-19949
wp plugin update all-in-one-wp-migration
wp plugin get all-in-one-wp-migration --field=version
Protege WordPress con una base de hosting sólida
Aloja tus sitios con copias de seguridad, SSL y soporte para mantener WordPress y sus plugins actualizados.


El resultado debe ser 7.110 o posterior. Antes de actualizar, genera una copia recuperable fuera del mismo servidor y prueba que puedes restaurarla. Desactivar trackbacks reduce una condición de la cadena, pero no sustituye el parche ni elimina datos ya almacenados.
Chequeo de exposición: prioriza la secuencia, no el pánico
| Pregunta | Si la respuesta es “sí” |
|---|---|
| ¿Estuvo activo All-in-One WP Migration ≤7.109? | Existe la condición de versión |
| ¿Había posts públicos con pingbacks/trackbacks abiertos? | Existía una vía de siembra no autenticada |
| ¿Hubo trackbacks o pingbacks inusuales? | Revisar URLs, fechas y contenido almacenado |
| ¿Un administrador exportó y luego importó/restauró? | La entrada almacenada pudo alcanzar la segunda fase |
| ¿Aparecieron MU plugins o PHP inesperados? | Tratar como posible incidente |
Puedes enumerar posts publicados con pings abiertos y revisar ambos tipos de comentarios:
wp post list --post_type=post --post_status=publish --ping_status=open --fields=ID,post_title,ping_status --format=table
wp comment list --type=trackback --fields=comment_ID,comment_post_ID,comment_author_url,comment_date_gmt --format=table
wp comment list --type=pingback --fields=comment_ID,comment_post_ID,comment_author_url,comment_date_gmt --format=table
Después inspecciona cambios recientes donde un payload de WordPress suele persistir:
find wp-content/mu-plugins wp-content/uploads -type f -name '*.php' -newermt '2026-08-14' -ls
wp core verify-checksums
wp plugin verify-checksums --all
Estas comprobaciones son triage genérico: la divulgación no proporciona una lista pública de IOCs. Un resultado limpio no demuestra que nunca hubo explotación, y los archivos legítimos personalizados pueden generar alertas.
Qué hacer si la cadena pudo completarse
- Conserva logs, el archivo
.wpress, fechas de exportación/importación y comentarios sospechosos. - Pon el sitio en modo de contención o limita tráfico administrativo.
- Revisa usuarios administradores, MU plugins, tareas programadas, webshells y cambios de base de datos.
- Rota salts de WordPress, contraseñas, claves API, credenciales de base de datos y SFTP después de contener.
- Si no puedes establecer integridad, reconstruye WordPress con core y plugins limpios y restaura únicamente contenido verificado.
¿Apagar pingbacks soluciona el problema?
No. Es defensa en profundidad. En Settings → Discussion, desactiva nuevas notificaciones de enlaces si no las utilizas y revisa posts existentes. Pero la corrección principal sigue siendo actualizar a 7.110 o posterior.
Una lectura justa del riesgo
El riesgo no debe minimizarse: cinco millones de instalaciones activas y una ruta potencial hasta ejecución de código justifican respuesta rápida. Tampoco debe exagerarse: la publicación no afirma cinco millones de compromisos ni una explotación masiva confirmada. Al 2 de septiembre, CVE-2026-19949 no aparecía en la instantánea consultada de CISA KEV; esa ausencia no descarta explotación, solo indica que no estaba catalogada allí en ese momento.
Si administras más formularios y plugins populares, consulta también nuestro análisis de CVE-2026-19513 en Gravity Forms. El patrón operativo es el mismo: inventario preciso, actualización verificable y evidencia antes de concluir que un sitio está limpio.
Preguntas frecuentes
¿Qué versión de All-in-One WP Migration es segura?
La corrección se publicó en 7.110. Usa esa versión o una posterior compatible y vuelve a verificar después de actualizar.
¿Necesita el atacante una cuenta de WordPress?
La fase de siembra mediante trackbacks descrita es no autenticada, pero la ejecución depende de que un administrador realice una exportación y posterior importación/restauración vulnerable.
¿Cinco millones de sitios fueron hackeados?
No hay evidencia pública para afirmar eso. La cifra corresponde a instalaciones activas potencialmente afectadas por versión, no a compromisos confirmados.
Fuentes primarias: investigación de Wordfence y ficha y changelog del plugin en WordPress.org.










