{"id":9553,"date":"2026-09-02T12:23:52","date_gmt":"2026-09-02T10:23:52","guid":{"rendered":"https:\/\/www.hostingtg.com\/blog\/?p=9553"},"modified":"2026-09-02T12:24:35","modified_gmt":"2026-09-02T10:24:35","slug":"all-in-one-wp-migration-and-backup-actualiza-cuanto-antes","status":"publish","type":"post","link":"https:\/\/www.hostingtg.com\/blog\/all-in-one-wp-migration-and-backup-actualiza-cuanto-antes\/","title":{"rendered":"Si tienes instalado All-in-One WP Migration and Backup, actualiza cuanto antes"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Si tienes <strong>All-in-One WP Migration and Backup<\/strong> instalado en WordPress, hay una actualizaci\u00f3n que yo no dejar\u00eda pendiente para otro d\u00eda.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El plugin ha sido afectado por <strong>CVE-2026-19949<\/strong>, una vulnerabilidad de <strong>inyecci\u00f3n SQL de segundo orden sin autenticaci\u00f3n<\/strong> que afecta a todas las versiones hasta la <strong>7.109 inclusive<\/strong>. La versi\u00f3n <strong>7.110<\/strong> corrige el problema y, en el momento de publicar este art\u00edculo, sigue siendo la versi\u00f3n disponible en el repositorio oficial de WordPress.<br>No estamos hablando precisamente de un plugin desconocido. <a href=\"https:\/\/wordpress.org\/plugins\/all-in-one-wp-migration\/\" target=\"_blank\" rel=\"noopener\">All-in-One WP Migration and Backup<\/a> supera los <strong>5 millones de instalaciones activas<\/strong> y se utiliza para migrar sitios, crear copias de seguridad y restaurar instalaciones completas de WordPress.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Y ah\u00ed est\u00e1 precisamente una de las razones por las que esta vulnerabilidad me parece especialmente preocupante.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un <a href=\"https:\/\/www.hostingtg.com\/blog\/copias-de-seguridad-en-tu-wordpress\/\">plugin de migraci\u00f3n y backups<\/a> necesita trabajar con algunas de las partes m\u00e1s sensibles de una web: la base de datos, los archivos, plugins, temas y pr\u00e1cticamente todo aquello que necesitamos conservar cuando trasladamos o restauramos un WordPress.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por eso, cuando aparece una vulnerabilidad que puede terminar exponiendo informaci\u00f3n sensible y, bajo determinadas condiciones, evolucionar hasta una <strong>ejecuci\u00f3n remota de c\u00f3digo (RCE)<\/strong>, no creo que sea una actualizaci\u00f3n que debamos posponer hasta \u201ccuando tengamos un rato\u201d.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La recomendaci\u00f3n inmediata es muy sencilla:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Versi\u00f3n de All-in-One WP Migration<\/th><th>Estado<\/th><th>Qu\u00e9 hacer<\/th><\/tr><tr><td>7.109 o anterior<\/td><td>Vulnerable<\/td><td>Actualizar cuanto antes<\/td><\/tr><tr><td>7.110<\/td><td>Corregida frente a CVE-2026-19949<\/td><td>Mantener actualizada<\/td><\/tr><tr><td>Una versi\u00f3n posterior<\/td><td>Comprobar que sigue siendo la \u00faltima disponible<\/td><td>Mantener pol\u00edtica de actualizaciones<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.wordfence.com\/blog\/2026\/09\/5-million-wordpress-sites-affected-by-sql-injection-vulnerability-in-all-in-one-wp-migration-and-backup-wordpress-plugin\/\" target=\"_blank\" rel=\"noopener\">Wordfence asigna a <strong>CVE-2026-19949<\/strong><\/a><strong> una puntuaci\u00f3n CVSS de 8.8, severidad alta<\/strong>, y describe una posible cadena que puede acabar en el control completo del sitio.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As\u00ed que, antes de entrar en detalles t\u00e9cnicos, mi recomendaci\u00f3n es esta: <strong>si utilizas All-in-One WP Migration and Backup 7.109 o anterior, actualiza ya<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Despu\u00e9s de hacerlo, sigue leyendo, porque actualizar soluciona la vulnerabilidad, pero si sospechas que el sitio pudo haber sido comprometido anteriormente, hay algunas comprobaciones que tambi\u00e9n merece la pena realizar.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Qu\u00e9 ha ocurrido con All-in-One WP Migration and Backup<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">El 14 de agosto de 2026, el investigador de seguridad Jack Taylor comunic\u00f3 a Wordfence una vulnerabilidad localizada en <strong>All-in-One WP Migration and Backup<\/strong>. Wordfence valid\u00f3 el problema, lo notific\u00f3 a ServMask \u2014desarrollador del plugin\u2014 y la versi\u00f3n corregida <strong>7.110<\/strong> fue publicada el 20 de agosto de 2026.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La vulnerabilidad recibi\u00f3 el identificador <strong>CVE-2026-19949<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Su particularidad es que estamos ante una <strong>SQL Injection de segundo orden<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esto significa que el c\u00f3digo SQL malicioso no tiene por qu\u00e9 ejecutarse en el mismo momento en que el atacante introduce los datos manipulados. Esos datos pueden quedar almacenados y convertirse en peligrosos posteriormente, cuando otro proceso los recupera y los utiliza de una forma vulnerable.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ese detalle es importante para entender este caso.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Qu\u00e9 es la vulnerabilidad CVE-2026-19949<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Wordfence explica que un atacante no autenticado puede introducir datos especialmente preparados mediante la funcionalidad de <strong>trackbacks de WordPress<\/strong> en una entrada p\u00fablica que acepte pings. Esos valores quedan almacenados en la tabla de comentarios.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En ese momento todav\u00eda no se produce necesariamente la inyecci\u00f3n SQL.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El problema aparece despu\u00e9s.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cuando un administrador realiza determinadas operaciones normales del plugin \u2014concretamente un proceso de <strong>exportaci\u00f3n seguido de una importaci\u00f3n\/restauraci\u00f3n<\/strong>\u2014 All-in-One WP Migration procesa la informaci\u00f3n almacenada en la base de datos para adaptar URLs y prefijos de tablas al sitio de destino.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En las versiones vulnerables existe un problema al procesar determinados valores terminados en barras invertidas. Esa situaci\u00f3n puede hacer que datos controlados por el atacante terminen modificando la estructura de una consulta y sean interpretados como SQL ejecutable.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">De hecho, el registro de cambios oficial de All-in-One WP Migration 7.110 menciona precisamente una correcci\u00f3n relacionada con la b\u00fasqueda y sustituci\u00f3n de valores que terminan en una barra invertida y agradece a Jack Taylor la divulgaci\u00f3n responsable.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Por qu\u00e9 una inyecci\u00f3n SQL en este plugin es especialmente preocupante<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Una inyecci\u00f3n SQL ya merece atenci\u00f3n en pr\u00e1cticamente cualquier aplicaci\u00f3n, porque la base de datos almacena buena parte de la informaci\u00f3n esencial de WordPress.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pero, en mi opini\u00f3n, aqu\u00ed el contexto importa todav\u00eda m\u00e1s.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">All-in-One WP Migration no es un peque\u00f1o complemento que a\u00f1ade un bot\u00f3n visual o cambia un color del tema. Su funci\u00f3n consiste precisamente en <strong>exportar, importar, migrar y restaurar una web completa<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El propio plugin genera archivos <code>.wpress<\/code> que pueden incluir la base de datos, medios, temas y plugins de la instalaci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Eso implica necesariamente trabajar con informaci\u00f3n y operaciones especialmente sensibles.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por eso llevo tiempo defendiendo una idea que este incidente vuelve a poner sobre la mesa: <strong>un plugin de copias de seguridad o migraci\u00f3n no debe considerarse una herramienta secundaria desde el punto de vista de la seguridad<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cuanto mayor sea el nivel de acceso que necesita una herramienta para hacer su trabajo, mayor deber\u00eda ser tambi\u00e9n nuestra atenci\u00f3n cuando aparece una vulnerabilidad.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Qu\u00e9 versiones de All-in-One WP Migration est\u00e1n afectadas<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Aqu\u00ed no hay demasiada ambig\u00fcedad.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.hostingtg.com\/blog\/wordfence-wordpress\/\">Wordfence identifica como vulnerables<\/a> a <strong>todas las versiones de All-in-One WP Migration and Backup hasta la 7.109 inclusive<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La versi\u00f3n corregida es la <strong>7.110<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El repositorio oficial de WordPress muestra actualmente la versi\u00f3n 7.110 y su changelog incluye la correcci\u00f3n relacionada con los valores terminados en una barra invertida.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Versiones vulnerables hasta la 7.109<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Si al entrar en tu instalaci\u00f3n encuentras alguno de estos escenarios:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>All-in-One WP Migration 7.109.<\/li>\n\n\n\n<li>All-in-One WP Migration 7.108.<\/li>\n\n\n\n<li>Una versi\u00f3n 7.107, 7.106 o anterior.<\/li>\n\n\n\n<li>Una copia antigua del plugin que llevas tiempo sin actualizar.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">deber\u00edas asumir que est\u00e1s utilizando una versi\u00f3n afectada por <strong>CVE-2026-19949<\/strong> y actualizar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No me limitar\u00eda a pensar que una versi\u00f3n \u201csolo un poco antigua\u201d supone poco riesgo. En seguridad, la diferencia entre 7.109 y 7.110 en este caso es precisamente que una contiene el fallo y la otra incorpora la correcci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tambi\u00e9n conviene tener especial cuidado con esas instalaciones antiguas que mantenemos desactivadas \u201cpor si alg\u00fan d\u00eda hacen falta\u201d.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un plugin desactivado reduce la superficie disponible en comparaci\u00f3n con tenerlo permanentemente activo, pero yo evitar\u00eda conservar software vulnerable e innecesario dentro de la instalaci\u00f3n. Si no necesitas un plugin, prefiero eliminarlo. Y si lo necesitas, mantenerlo actualizado.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Qu\u00e9 versi\u00f3n corrige la vulnerabilidad<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">La primera versi\u00f3n parcheada frente a CVE-2026-19949 es <strong>All-in-One WP Migration 7.110<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wordfence indica que ServMask public\u00f3 esta versi\u00f3n el <strong>20 de agosto de 2026<\/strong>, seis d\u00edas despu\u00e9s de recibir inicialmente el informe de la vulnerabilidad.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A fecha de esta revisi\u00f3n, WordPress.org contin\u00faa mostrando <strong>7.110 como versi\u00f3n actual del plugin<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dicho esto, mi recomendaci\u00f3n no ser\u00eda guardar mentalmente \u201c7.110\u201d como si tuviera que quedarse para siempre.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si est\u00e1s leyendo este art\u00edculo semanas o meses despu\u00e9s de su publicaci\u00f3n y existe una versi\u00f3n posterior, instala <strong>la \u00faltima versi\u00f3n estable disponible<\/strong>, no una versi\u00f3n antigua simplemente porque fue la primera que corrigi\u00f3 este CVE.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">C\u00f3mo funciona la vulnerabilidad de All-in-One WP Migration<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La explicaci\u00f3n t\u00e9cnica completa es bastante m\u00e1s compleja que \u201chay una inyecci\u00f3n SQL en un formulario\u201d.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">De hecho, uno de los aspectos interesantes de <strong>CVE-2026-19949<\/strong> es que necesita varias fases.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esto tambi\u00e9n significa que no deber\u00edamos interpretar \u201csin autenticaci\u00f3n\u201d como \u201ccualquier visitante entra inmediatamente en tu servidor y ejecuta c\u00f3digo con un clic\u201d. Hay condiciones que deben cumplirse.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pero tampoco deber\u00edamos minimizar el problema.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Qu\u00e9 es una inyecci\u00f3n SQL de segundo orden<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">En una SQL Injection convencional, solemos imaginar una entrada manipulada que llega a una consulta vulnerable y se ejecuta inmediatamente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En una <strong>inyecci\u00f3n SQL de segundo orden<\/strong>, la secuencia cambia.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Primero, el atacante consigue almacenar informaci\u00f3n especialmente preparada dentro del sistema.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ese dato puede parecer inofensivo inicialmente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Despu\u00e9s, en otro momento y quiz\u00e1 mediante una operaci\u00f3n completamente distinta, la aplicaci\u00f3n recupera ese dato y lo utiliza al construir o procesar una consulta SQL. Es entonces cuando aparece el problema.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En este caso, Wordfence describe c\u00f3mo determinados datos pueden introducirse a trav\u00e9s de trackbacks y almacenarse en la tabla de comentarios de WordPress. M\u00e1s tarde, durante el proceso de exportaci\u00f3n e importaci\u00f3n realizado por All-in-One WP Migration, esos datos son procesados y la vulnerabilidad puede activarse.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Por qu\u00e9 el ataque puede comenzar sin autenticaci\u00f3n<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Este es uno de los puntos que m\u00e1s me preocupan.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La primera fase no exige que el atacante tenga previamente una cuenta de administrador, editor o suscriptor.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wordfence describe una introducci\u00f3n inicial de los valores manipulados mediante la funcionalidad de trackbacks de WordPress en una entrada p\u00fablica que acepte pings.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ahora bien, hay una condici\u00f3n fundamental que no debemos omitir: <strong>los datos maliciosos no se convierten autom\u00e1ticamente en SQL ejecutable en cuanto llegan al sitio<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para que la cadena descrita contin\u00fae, un administrador debe realizar posteriormente un <strong>ciclo de exportaci\u00f3n e importaci\u00f3n\/restauraci\u00f3n<\/strong> con el plugin.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wordfence subraya expl\u00edcitamente este requisito.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esta precisi\u00f3n es importante porque nos permite evaluar el riesgo correctamente: el ataque puede iniciarse sin autenticaci\u00f3n, pero necesita tambi\u00e9n una acci\u00f3n posterior del administrador para que el payload almacenado llegue al proceso vulnerable.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">El papel de la clave <code>ai1wm_secret_key<\/code><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Aqu\u00ed es donde la vulnerabilidad se vuelve todav\u00eda m\u00e1s seria.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">All-in-One WP Migration utiliza una clave secreta almacenada en la opci\u00f3n <code><strong>ai1wm_secret_key<\/strong><\/code> para proteger determinadas operaciones de importaci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Seg\u00fan el an\u00e1lisis t\u00e9cnico de Wordfence, la explotaci\u00f3n de la inyecci\u00f3n SQL puede utilizarse para obtener esa clave y hacerla accesible al atacante.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esto cambia considerablemente el escenario.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ya no estar\u00edamos hablando \u00fanicamente de intentar leer determinada informaci\u00f3n de la base de datos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La obtenci\u00f3n de esa clave puede permitir al atacante superar la comprobaci\u00f3n utilizada por el controlador de importaci\u00f3n.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">C\u00f3mo podr\u00eda evolucionar el ataque hasta una ejecuci\u00f3n remota de c\u00f3digo<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Una vez obtenida la clave secreta, Wordfence describe una fase posterior en la que el atacante puede utilizar directamente la funcionalidad de importaci\u00f3n del plugin con un archivo <code>.wpress<\/code> especialmente preparado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ese archivo puede contener un <strong>must-use plugin malicioso<\/strong> que, al ser extra\u00eddo en el directorio correspondiente, termina ejecut\u00e1ndose en WordPress.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El resultado potencial es <strong>Remote Code Execution o RCE<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Y cuando hablamos de ejecuci\u00f3n remota de c\u00f3digo, ya no estamos ante una filtraci\u00f3n menor.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Estamos hablando de la posibilidad de comprometer completamente la instalaci\u00f3n.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Qu\u00e9 podr\u00eda hacer un atacante si consigue comprometer WordPress<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Llegar a RCE significa que el atacante puede conseguir ejecutar c\u00f3digo en el contexto del servidor web.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A partir de ah\u00ed, el alcance exacto depender\u00e1 de la configuraci\u00f3n del hosting, permisos del sistema, aislamiento de la cuenta y otras medidas de seguridad.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pero el escenario es suficientemente serio como para no conformarnos con decir que \u201cpuede acceder a algunos datos\u201d.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Acceder o manipular informaci\u00f3n de la base de datos<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">WordPress depende intensamente de su base de datos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Entradas, p\u00e1ginas, configuraci\u00f3n, usuarios, hashes de contrase\u00f1as, opciones de plugins y multitud de datos relacionados con el funcionamiento del sitio terminan almacenados all\u00ed.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una intrusi\u00f3n que permita manipular la base de datos podr\u00eda utilizarse para cambiar configuraciones, alterar contenidos o preparar mecanismos adicionales de persistencia.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por supuesto, el impacto concreto depender\u00e1 tambi\u00e9n de los plugins instalados y del tipo de web.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No contiene la misma informaci\u00f3n un peque\u00f1o blog que una tienda WooCommerce, una plataforma de membres\u00eda o una web que almacena datos de clientes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Modificar archivos e instalar puertas traseras<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Aqu\u00ed entramos en una de las situaciones que m\u00e1s intentar\u00eda evitar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si un atacante consigue ejecutar c\u00f3digo con los permisos del proceso web, podr\u00eda intentar modificar archivos accesibles, introducir webshells, a\u00f1adir c\u00f3digo malicioso a plugins o temas o crear otros mecanismos que le permitan regresar posteriormente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por eso actualizar el plugin no deber\u00eda confundirse con limpiar autom\u00e1ticamente una web que ya hubiera sido comprometida.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El parche corrige la vulnerabilidad.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pero no viaja atr\u00e1s en el tiempo ni elimina por arte de magia cualquier cambio que pudiera haberse producido antes de instalarlo.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Crear usuarios administradores y mantener acceso al sitio<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Una t\u00e9cnica habitual despu\u00e9s de comprometer un WordPress consiste en buscar persistencia.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una nueva cuenta de administrador que nadie reconoce es una se\u00f1al evidente, pero no es la \u00fanica posibilidad.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tambi\u00e9n pueden existir modificaciones de archivos, tareas programadas, plugins desconocidos, c\u00f3digo inyectado en una extensi\u00f3n leg\u00edtima o cambios dentro de la base de datos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por eso, si tienes motivos reales para pensar que tu sitio pudo haber sido explotado, yo no limitar\u00eda la respuesta a pulsar \u201cActualizar\u201d y dar el incidente por cerrado.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Qu\u00e9 hacer si tienes All-in-One WP Migration instalado<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Si has llegado hasta aqu\u00ed porque acabas de descubrir All-in-One WP Migration entre tus plugins, no hace falta complicarse.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Lo primero es comprobar la versi\u00f3n.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">C\u00f3mo comprobar qu\u00e9 versi\u00f3n tienes instalada<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Desde el panel de administraci\u00f3n de WordPress:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Entra en <strong>Plugins<\/strong>.<\/li>\n\n\n\n<li>Abre <strong>Plugins instalados<\/strong>.<\/li>\n\n\n\n<li>Localiza <strong>All-in-One WP Migration and Backup<\/strong>.<\/li>\n\n\n\n<li>Comprueba el n\u00famero de versi\u00f3n.<\/li>\n\n\n\n<li>Si aparece <strong>7.109 o una versi\u00f3n anterior<\/strong>, actualiza.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Si administras servidores mediante l\u00ednea de comandos y tienes WP-CLI disponible, tambi\u00e9n puedes consultar la informaci\u00f3n del plugin desde all\u00ed, pero para la mayor\u00eda de usuarios comprobarlo desde el escritorio de WordPress ser\u00e1 suficiente.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Actualizar All-in-One WP Migration a la \u00faltima versi\u00f3n<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Antes de realizar cambios importantes en una web, conviene disponer de una copia de seguridad funcional.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En este caso, si tienes opci\u00f3n, me parece especialmente razonable que esa copia de seguridad sea <strong>independiente del propio plugin que est\u00e1s a punto de actualizar<\/strong>: por ejemplo, un snapshot proporcionado por el hosting o un sistema externo de backups.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Despu\u00e9s:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Entra en <strong>Escritorio \u2192 Actualizaciones<\/strong> o en <strong>Plugins<\/strong>.<\/li>\n\n\n\n<li>Localiza la actualizaci\u00f3n de All-in-One WP Migration.<\/li>\n\n\n\n<li>Instala la \u00faltima versi\u00f3n disponible.<\/li>\n\n\n\n<li>Comprueba que la actualizaci\u00f3n ha finalizado correctamente.<\/li>\n\n\n\n<li>Verifica nuevamente el n\u00famero de versi\u00f3n.<\/li>\n\n\n\n<li>Revisa brevemente las funciones principales de la web.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">En el momento de redactar este art\u00edculo, <strong>7.110 es la versi\u00f3n disponible en WordPress.org y la que contiene el parche frente a CVE-2026-19949<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Qu\u00e9 hacer si no puedes actualizar inmediatamente<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Mi primera opci\u00f3n ser\u00eda averiguar por qu\u00e9 no puedes actualizar y resolverlo cuanto antes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si existe una incompatibilidad, una web cr\u00edtica que no puede modificarse sin pruebas o cualquier otro bloqueo operativo, reduce la exposici\u00f3n mientras preparas el parche.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Podr\u00edas valorar desactivar temporalmente el plugin si no necesitas utilizarlo y probar primero la actualizaci\u00f3n en staging.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pero no convertir\u00eda una soluci\u00f3n temporal en permanente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un WAF puede a\u00f1adir una capa de protecci\u00f3n adicional, y Wordfence despleg\u00f3 una regla espec\u00edfica para sus usuarios Premium, Care y Response el 16 de agosto de 2026. Sin embargo, una protecci\u00f3n perimetral no sustituye a corregir el software vulnerable.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Actualizar el plugin puede no ser suficiente<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Este es probablemente el punto que m\u00e1s me interesa destacar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Actualizar corrige la puerta de entrada conocida, pero no necesariamente elimina aquello que un atacante hubiera podido dejar dentro previamente.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si \u00fanicamente ten\u00edas una versi\u00f3n vulnerable pero no existe ning\u00fan indicio de compromiso, actualizar puede ser la medida principal.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si, por el contrario, encuentras actividad extra\u00f1a, archivos sospechosos, administradores desconocidos o cualquier se\u00f1al que te haga pensar que algo no cuadra, la respuesta deber\u00eda ir m\u00e1s all\u00e1.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Revisar usuarios administradores desconocidos<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Entra en <strong>Usuarios<\/strong> y revisa especialmente las cuentas con privilegios de administrador.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Preg\u00fantate:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u00bfReconozco todas?<\/li>\n\n\n\n<li>\u00bfHay alguna creada recientemente?<\/li>\n\n\n\n<li>\u00bfExiste alguna direcci\u00f3n de correo que no corresponda con nadie del equipo?<\/li>\n\n\n\n<li>\u00bfAlguna cuenta tiene m\u00e1s privilegios de los que deber\u00eda?<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Una cuenta administrativa desconocida requiere investigaci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No me limitar\u00eda simplemente a borrarla y continuar trabajando como si nada, porque su presencia puede ser la consecuencia de un compromiso m\u00e1s amplio.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Comprobar archivos modificados recientemente<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Tambi\u00e9n revisar\u00eda cambios recientes en los archivos del sitio.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Prestar\u00eda especial atenci\u00f3n a:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>wp-content\/plugins\/<\/code><\/li>\n\n\n\n<li><code>wp-content\/themes\/<\/code><\/li>\n\n\n\n<li><code>wp-content\/mu-plugins\/<\/code><\/li>\n\n\n\n<li>directorios de uploads donde no deber\u00edan aparecer archivos PHP<\/li>\n\n\n\n<li>archivos principales de WordPress modificados sin una actualizaci\u00f3n que lo justifique.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Comparar plugins y el core con copias limpias oficiales puede ayudar a detectar diferencias inesperadas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El directorio <code>mu-plugins<\/code> merece especial atenci\u00f3n en este incidente porque Wordfence describe precisamente una posible fase final de la explotaci\u00f3n basada en importar un archivo que introduce un must-use plugin malicioso.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Revisar los logs del servidor y de WordPress<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Los registros pueden ayudarnos a reconstruir qu\u00e9 ocurri\u00f3.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si tienes acceso, revisar\u00eda:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>logs del servidor web;<\/li>\n\n\n\n<li>registros del WAF;<\/li>\n\n\n\n<li>logs del hosting;<\/li>\n\n\n\n<li>actividad administrativa;<\/li>\n\n\n\n<li>eventos an\u00f3malos pr\u00f3ximos a procesos de exportaci\u00f3n o restauraci\u00f3n.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Tambi\u00e9n resulta \u00fatil conocer si durante el periodo vulnerable se realizaron migraciones o restauraciones con All-in-One WP Migration, porque la cadena descrita necesita precisamente que un administrador realice una exportaci\u00f3n seguida de una importaci\u00f3n para ejecutar el SQL almacenado.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Buscar se\u00f1ales de puertas traseras o actividad sospechosa<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Yo prestar\u00eda atenci\u00f3n, entre otras cosas, a:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>nuevos administradores;<\/li>\n\n\n\n<li>plugins que nadie recuerda instalar;<\/li>\n\n\n\n<li>must-use plugins desconocidos;<\/li>\n\n\n\n<li>archivos PHP recientes;<\/li>\n\n\n\n<li>tareas programadas inesperadas;<\/li>\n\n\n\n<li>modificaciones de <code>.htaccess<\/code>;<\/li>\n\n\n\n<li>redirecciones extra\u00f1as;<\/li>\n\n\n\n<li>contenido spam;<\/li>\n\n\n\n<li>procesos o consumo de recursos an\u00f3malo.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Si confirmas un compromiso serio, lo m\u00e1s prudente puede ser trabajar desde una copia limpia conocida, rotar credenciales y claves y analizar completamente la instalaci\u00f3n en lugar de intentar reparar \u00fanicamente los s\u00edntomas visibles.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Por qu\u00e9 los plugins de backup y migraci\u00f3n son especialmente sensibles<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Esta vulnerabilidad vuelve a demostrar algo que considero fundamental cuando se habla de seguridad en WordPress.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No todos los plugins tienen el mismo impacto potencial.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un plugin que \u00fanicamente a\u00f1ade una peque\u00f1a funcionalidad visual no necesita necesariamente el mismo nivel de acceso que una herramienta dise\u00f1ada para copiar y reconstruir una web completa.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Acceso a la base de datos, archivos y copias de seguridad<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">All-in-One WP Migration puede empaquetar un sitio en un archivo <code>.wpress<\/code> con su base de datos, medios, temas y plugins, y despu\u00e9s restaurarlo en otra instalaci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ese es precisamente su valor.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pero esa capacidad tambi\u00e9n explica por qu\u00e9 debemos tratar con especial cuidado la seguridad de este tipo de herramientas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para realizar una migraci\u00f3n correctamente, el plugin tiene que trabajar con:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>la base de datos;<\/li>\n\n\n\n<li>rutas internas;<\/li>\n\n\n\n<li>URLs;<\/li>\n\n\n\n<li>archivos;<\/li>\n\n\n\n<li>plugins;<\/li>\n\n\n\n<li>temas;<\/li>\n\n\n\n<li>contenido multimedia;<\/li>\n\n\n\n<li>datos serializados;<\/li>\n\n\n\n<li>procesos de importaci\u00f3n y restauraci\u00f3n.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">No quiero decir con esto que utilizar un plugin de backups sea inseguro por definici\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Todo lo contrario: las copias de seguridad son una parte esencial de una estrategia de seguridad y recuperaci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Lo que digo es que una herramienta con tanto acceso debe mantenerse especialmente vigilada.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Por qu\u00e9 no deber\u00edan tratarse como plugins secundarios<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A veces veo una distinci\u00f3n mental entre \u201cplugins importantes\u201d y \u201cplugins que solo utilizo para hacer backups de vez en cuando\u201d.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ese planteamiento me parece peligroso.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un plugin puede utilizarse una vez al mes y, aun as\u00ed, tener permisos extremadamente potentes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Precisamente porque estas herramientas pueden tocar pr\u00e1cticamente toda la instalaci\u00f3n, yo las incluir\u00eda entre los componentes que m\u00e1s r\u00e1pido actualizar\u00eda cuando aparece un aviso de seguridad.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Y tambi\u00e9n revisar\u00eda peri\u00f3dicamente si siguen siendo necesarias.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si un plugin lleva meses instalado, no se utiliza y no existe ning\u00fan motivo para conservarlo, eliminarlo reduce superficie de ataque y mantenimiento.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">C\u00f3mo reducir el riesgo ante futuras vulnerabilidades de WordPress<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">CVE-2026-19949 terminar\u00e1 desapareciendo de los titulares, pero habr\u00e1 nuevas vulnerabilidades.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No solo en este plugin.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">WordPress dispone de un ecosistema enorme de temas y extensiones y, estad\u00edsticamente, siempre aparecer\u00e1n nuevos fallos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La cuesti\u00f3n importante es c\u00f3mo reducimos el tiempo durante el cual nuestras instalaciones permanecen expuestas.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Mantener plugins y temas actualizados<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Actualizar el core es importante, pero no basta.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En mi caso, una de las conclusiones que saco de incidentes como este es precisamente esa: <strong>mantener WordPress actualizado significa mantener actualizado todo el ecosistema que ejecutamos sobre \u00e9l<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esto incluye:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>WordPress;<\/li>\n\n\n\n<li>plugins;<\/li>\n\n\n\n<li>temas;<\/li>\n\n\n\n<li>extensiones premium;<\/li>\n\n\n\n<li>componentes del servidor cuando est\u00e9n bajo nuestra responsabilidad.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Para determinados plugins de confianza puede tener sentido utilizar actualizaciones autom\u00e1ticas, siempre que exista una estrategia de backups y supervisi\u00f3n adecuada.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Eliminar plugins que ya no utilizas<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Si ya no necesitas una extensi\u00f3n, plant\u00e9ate eliminarla.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tener veinte plugins desactivados \u201cpor si alg\u00fan d\u00eda hacen falta\u201d implica mantener veinte piezas de software adicionales que pueden envejecer y quedar olvidadas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Menos componentes innecesarios significa menos cosas que actualizar, revisar y proteger.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Mantener copias de seguridad externas<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Tambi\u00e9n mantendr\u00eda al menos una copia que no dependa exclusivamente de la propia instalaci\u00f3n WordPress.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Puede ser:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>un sistema de backups del hosting;<\/li>\n\n\n\n<li>snapshots del servidor;<\/li>\n\n\n\n<li>almacenamiento remoto;<\/li>\n\n\n\n<li>una infraestructura externa de copias de seguridad.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">La idea es sencilla: si WordPress queda completamente comprometido, quiero poder recuperar informaci\u00f3n desde un sistema que el atacante no haya podido modificar f\u00e1cilmente desde esa misma instalaci\u00f3n.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Monitorizar cambios y actividad sospechosa<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Por \u00faltimo, intentar\u00eda no depender \u00fanicamente de descubrir una vulnerabilidad leyendo una noticia d\u00edas despu\u00e9s.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Alertas de vulnerabilidades, monitorizaci\u00f3n de cambios, registros centralizados y un WAF pueden reducir el tiempo entre el incidente y nuestra respuesta.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ninguna de estas medidas sustituye a actualizar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pero varias capas trabajando juntas son mucho m\u00e1s \u00fatiles que confiar toda la seguridad de WordPress a una \u00fanica herramienta.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfEs seguro seguir utilizando All-in-One WP Migration?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Que un plugin tenga una vulnerabilidad no significa autom\u00e1ticamente que debamos dejar de utilizarlo para siempre.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El software complejo puede tener fallos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para m\u00ed son importantes tambi\u00e9n otros factores:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>la gravedad del problema;<\/li>\n\n\n\n<li>c\u00f3mo responde el desarrollador;<\/li>\n\n\n\n<li>cu\u00e1nto tarda en publicar una correcci\u00f3n;<\/li>\n\n\n\n<li>si existe mantenimiento activo;<\/li>\n\n\n\n<li>y si nosotros aplicamos esas actualizaciones.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">En este caso, Wordfence notific\u00f3 la vulnerabilidad a ServMask el 15 de agosto, el desarrollador reconoci\u00f3 el informe el d\u00eda 17 y la versi\u00f3n corregida se public\u00f3 el 20 de agosto.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Eso no elimina la gravedad de CVE-2026-19949, pero s\u00ed es un dato relevante a la hora de valorar la respuesta del proyecto.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por tanto, no dir\u00eda que todo el mundo tenga que desinstalar All-in-One WP Migration exclusivamente por este incidente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">S\u00ed dir\u00eda algo mucho m\u00e1s claro:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>no utilizar\u00eda una versi\u00f3n vulnerable del plugin y no mantendr\u00eda instalada una copia antigua sin necesidad.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si utilizas All-in-One WP Migration, mantenlo actualizado, vigila sus avisos de seguridad y aseg\u00farate de disponer de backups independientes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>CVE-2026-19949 <\/strong>&#8211;<strong> All-in-One WP Migration and Backup<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La vulnerabilidad <strong>CVE-2026-19949 de All-in-One WP Migration and Backup<\/strong> es un buen ejemplo de por qu\u00e9 los plugins de migraci\u00f3n y copias de seguridad merecen tanta atenci\u00f3n como cualquier otro componente cr\u00edtico de WordPress.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Las versiones <strong>7.109 y anteriores<\/strong> est\u00e1n afectadas por una inyecci\u00f3n SQL de segundo orden sin autenticaci\u00f3n que, bajo las condiciones descritas por los investigadores, puede utilizarse para filtrar la clave secreta del plugin y evolucionar posteriormente hasta una ejecuci\u00f3n remota de c\u00f3digo. La versi\u00f3n <strong>7.110<\/strong> contiene la correcci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Lo que m\u00e1s me preocupa no es \u00fanicamente la etiqueta \u201cSQL Injection\u201d.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Es la combinaci\u00f3n de factores:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>m\u00e1s de cinco millones de instalaciones activas;<\/li>\n\n\n\n<li>un plugin que trabaja directamente con backups, base de datos y archivos;<\/li>\n\n\n\n<li>una primera fase que no requiere autenticaci\u00f3n;<\/li>\n\n\n\n<li>posibilidad de obtener una clave interna especialmente sensible;<\/li>\n\n\n\n<li>y un impacto potencial que puede terminar en RCE.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Por eso, si tienes instalado All-in-One WP Migration, yo no dejar\u00eda esta actualizaci\u00f3n para m\u00e1s adelante.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Comprueba la versi\u00f3n, actualiza y, si tienes motivos para sospechar que el sitio pudo haber sido comprometido, revisa tambi\u00e9n usuarios, archivos y registros.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Porque instalar el parche evita futuras explotaciones de esta vulnerabilidad, pero no elimina necesariamente aquello que un atacante hubiera podido introducir antes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una vez m\u00e1s, este incidente demuestra que mantener WordPress actualizado no deber\u00eda limitarse al n\u00facleo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Los plugins forman una parte enorme de la superficie de ataque de cualquier web y, especialmente cuando hablamos de herramientas con acceso a copias de seguridad, bases de datos o archivos del servidor, reaccionar r\u00e1pido puede marcar la diferencia entre hacer una simple actualizaci\u00f3n y tener que recuperar una web completamente comprometida.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Dudas de la comunidad<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfQu\u00e9 es CVE-2026-19949?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">CVE-2026-19949 identifica una vulnerabilidad de <strong>inyecci\u00f3n SQL de segundo orden sin autenticaci\u00f3n<\/strong> localizada en All-in-One WP Migration and Backup.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wordfence le asigna una puntuaci\u00f3n <strong>CVSS 8.8, severidad alta<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfQu\u00e9 versiones de All-in-One WP Migration son vulnerables?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Todas las versiones hasta la <strong>7.109 inclusive<\/strong> est\u00e1n afectadas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La primera versi\u00f3n corregida es <strong>7.110<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfA qu\u00e9 versi\u00f3n debo actualizar All-in-One WP Migration?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Debes instalar como m\u00ednimo la <strong>7.110<\/strong>, que contiene el parche de CVE-2026-19949.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si cuando lees esto existe una versi\u00f3n estable posterior, actualiza a la versi\u00f3n m\u00e1s reciente disponible.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfPuede explotarse la vulnerabilidad sin iniciar sesi\u00f3n?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">La primera fase descrita por Wordfence puede iniciarse sin autenticaci\u00f3n mediante trackbacks enviados a un post p\u00fablico que acepte pings.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sin embargo, la explotaci\u00f3n no es completamente autom\u00e1tica: el payload almacenado necesita que un administrador realice posteriormente un proceso de exportaci\u00f3n seguido de una importaci\u00f3n\/restauraci\u00f3n para que llegue al c\u00f3digo vulnerable.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfLa vulnerabilidad permite ejecutar c\u00f3digo en WordPress?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Potencialmente, s\u00ed.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Seg\u00fan Wordfence, la inyecci\u00f3n SQL puede utilizarse para filtrar <code>ai1wm_secret_key<\/code>. Con esa clave, el atacante puede intentar utilizar el proceso de importaci\u00f3n con un archivo preparado para introducir c\u00f3digo malicioso y alcanzar <strong>ejecuci\u00f3n remota de c\u00f3digo<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfActualizar el plugin elimina una infecci\u00f3n previa?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">No necesariamente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Actualizar corrige CVE-2026-19949 para impedir nuevas explotaciones mediante ese fallo, pero no elimina autom\u00e1ticamente archivos, usuarios, puertas traseras u otras modificaciones que pudieran haberse producido antes del parche.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si existen indicios de compromiso, hace falta investigar y limpiar el sitio.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfC\u00f3mo puedo saber si mi WordPress ha sido comprometido?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">No existe una comprobaci\u00f3n \u00fanica que permita descartarlo al 100 %.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Yo empezar\u00eda revisando:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>usuarios administradores;<\/li>\n\n\n\n<li>archivos modificados;<\/li>\n\n\n\n<li><code>mu-plugins<\/code>;<\/li>\n\n\n\n<li>plugins desconocidos;<\/li>\n\n\n\n<li>logs del servidor;<\/li>\n\n\n\n<li>actividad administrativa;<\/li>\n\n\n\n<li>tareas programadas;<\/li>\n\n\n\n<li>modificaciones inesperadas;<\/li>\n\n\n\n<li>alertas del WAF o sistema de seguridad.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Ante evidencias claras de intrusi\u00f3n, conviene realizar una revisi\u00f3n completa del sitio y no limitarse a actualizar el plugin.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfDebo desinstalar All-in-One WP Migration?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">No necesariamente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La vulnerabilidad dispone de una versi\u00f3n corregida y el desarrollador public\u00f3 el parche 7.110.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si necesitas el plugin, mantenlo actualizado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si ya no lo utilizas, mi recomendaci\u00f3n general ser\u00eda eliminarlo, exactamente igual que har\u00eda con cualquier otra extensi\u00f3n innecesaria de WordPress.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Si tienes All-in-One WP Migration and Backup instalado en WordPress, hay una actualizaci\u00f3n que yo no dejar\u00eda pendiente para otro d\u00eda. El plugin ha sido afectado por CVE-2026-19949, una vulnerabilidad de inyecci\u00f3n SQL de segundo orden sin autenticaci\u00f3n que afecta a todas las versiones hasta la 7.109 inclusive. La versi\u00f3n 7.110 corrige el problema y, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":9554,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[491],"tags":[1478,1479,1272,1480],"class_list":["post-9553","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wordpress","tag-all-in-one-wp-migration","tag-migration-and-backup","tag-vulnerabilidad","tag-vulnerabilidad-wordpress"],"_links":{"self":[{"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/posts\/9553","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/comments?post=9553"}],"version-history":[{"count":2,"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/posts\/9553\/revisions"}],"predecessor-version":[{"id":9556,"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/posts\/9553\/revisions\/9556"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/media\/9554"}],"wp:attachment":[{"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/media?parent=9553"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/categories?post=9553"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/tags?post=9553"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}