{"id":292,"date":"2026-10-17T11:03:19","date_gmt":"2026-10-17T09:03:19","guid":{"rendered":"https:\/\/helloblog.io\/es\/rank-math-pro-3-0-123-ataque-paquetes-oficiales-limpieza\/"},"modified":"2026-10-17T11:03:19","modified_gmt":"2026-10-17T09:03:19","slug":"rank-math-pro-3-0-123-ataque-paquetes-oficiales-limpieza","status":"publish","type":"post","link":"https:\/\/helloblog.io\/es\/rank-math-pro-3-0-123-ataque-paquetes-oficiales-limpieza\/","title":{"rendered":"Rank Math PRO 3.0.123: c\u00f3mo detectar y limpiar el ataque a sus paquetes oficiales"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Algunos paquetes de <strong>Rank Math PRO 3.0.123<\/strong>, distribuidos mediante los canales oficiales de descarga y actualizaci\u00f3n, conten\u00edan malware. Si activaste una de esas copias, debes tratar el sitio como comprometido: instalar la versi\u00f3n limpia sustituye los archivos del plugin, pero no elimina las puertas traseras, las cuentas ni las tareas que el malware haya creado en otros lugares.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El incidente afecta a paquetes obtenidos entre el <strong>15 de octubre de 2026 a las 20:02 UTC y el 16 de octubre de 2026 a las 07:12 UTC<\/strong>, una ventana de unas once horas. Rank Math retir\u00f3 los archivos afectados y public\u00f3 <strong>Rank Math PRO 3.0.124<\/strong>, una versi\u00f3n limpia.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Qu\u00e9 ocurri\u00f3 y qu\u00e9 alcance tiene<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">El malware lleg\u00f3 dentro del paquete oficial del plugin: se trata de un <strong>ataque a la cadena de suministro<\/strong>, no de un fallo de c\u00f3digo que permita explotar una instalaci\u00f3n limpia. El aviso se refiere al complemento PRO; no se\u00f1ala al plugin gratuito de Rank Math como afectado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El registro <strong>CVE-2026-111862<\/strong> identifica este incidente y le asigna un <strong>9,8, cr\u00edtico<\/strong>, en el Sistema de Puntuaci\u00f3n de Vulnerabilidades Comunes, conocido como CVSS. El identificador del plugin que recoge el registro es <code>seo-by-rank-math-pro<\/code>. Rank Math no ha publicado c\u00f3mo se manipularon los paquetes, y no hay datos que permitan atribuir el ataque ni fijar un n\u00famero de v\u00edctimas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El c\u00f3digo malicioso se ejecuta al activar el plugin, puede mantener acceso persistente y se comunica con <code>rank1cdn[.]com<\/code>. Tambi\u00e9n puede reconstruir puertas traseras ocultas cuando alguien visita una p\u00e1gina del sitio. Por eso, borrar un archivo aislado o desactivar el plugin no resuelve necesariamente el problema.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Debes considerar expuestas las credenciales de WordPress, las de la base de datos, las claves de la interfaz de programaci\u00f3n de aplicaciones o API y cualquier otro secreto que pueda leer el usuario del servidor web. El alcance no se limita a los ajustes de Rank Math ni a su carpeta.<\/p>\n\n\n\n<div class=\"wp-block-group callout callout-warning is-style-warning is-layout-flow wp-block-group-is-layout-flow\" style=\"border-width:1px;border-radius:8px;padding-top:1rem;padding-right:1.5rem;padding-bottom:1rem;padding-left:1.5rem\">\n\n<h4 class=\"wp-block-heading callout-title\">Actualizar no equivale a limpiar<\/h4>\n\n\n<p class=\"wp-block-paragraph\">La versi\u00f3n 3.0.124 reemplaza el paquete de Rank Math PRO. No elimina por s\u00ed sola los archivos, las cuentas de administrador ni las tareas programadas que el malware haya dejado fuera del plugin.<\/p>\n\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">C\u00f3mo saber si tu sitio est\u00e1 afectado<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Abre <strong>Plugins<\/strong> en el escritorio de WordPress y comprueba la versi\u00f3n instalada de Rank Math PRO. Despu\u00e9s, contrasta cu\u00e1ndo obtuviste el paquete y si llegaste a activarlo: <strong>ver 3.0.123 no demuestra por s\u00ed solo que haya una infecci\u00f3n<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La ventana afectada equivale al <strong>15 de octubre a las 22:02 CEST hasta el 16 de octubre a las 09:12 CEST<\/strong>, horario de verano de Europa central. Solo una parte de los paquetes de la versi\u00f3n 3.0.123 est\u00e1 afectada: los obtenidos durante ese intervalo.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n\n<li><strong>Obtuviste una copia afectada, la instalaste y la activaste:<\/strong> trata el sitio como comprometido y sigue una de las dos v\u00edas de recuperaci\u00f3n que se detallan m\u00e1s abajo.<\/li>\n\n\n<li><strong>Instalaste la copia afectada, pero nunca la activaste:<\/strong> elimina sus archivos, instala la versi\u00f3n limpia 3.0.124 desde tu cuenta de Rank Math y ejecuta un an\u00e1lisis de seguridad por precauci\u00f3n.<\/li>\n\n\n<li><strong>Descargaste la copia, pero no la instalaste ni la activaste:<\/strong> este incidente, por s\u00ed solo, no indica que el sitio est\u00e9 comprometido. No uses ese paquete; si no puedes confirmar si lleg\u00f3 a instalarse o activarse, consulta con el soporte de Rank Math.<\/li>\n\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Rank Math conserva registros de las cuentas que descargaron las copias afectadas y avisa a esos usuarios. Si has recibido ese aviso, aplica las medidas que correspondan aunque ahora tengas otra versi\u00f3n instalada. La versi\u00f3n actual no permite descartar lo que ocurri\u00f3 antes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Comprobaciones r\u00e1pidas con WP-CLI<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>WP-CLI<\/strong>, la herramienta que permite administrar WordPress desde la l\u00ednea de comandos, ayuda a revisar la versi\u00f3n, las cuentas y varios indicadores del ataque. Estos comandos sirven para una primera inspecci\u00f3n, no para certificar que el sitio est\u00e9 limpio ni para sustituir los pasos de recuperaci\u00f3n.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly># Ejecuta los comandos desde el directorio de WordPress.\nwp plugin get seo-by-rank-math-pro --field=version\n\n# Consulta las opciones asociadas al malware.\nwp option get _uf6qdn2hmm\nwp option get t8krdk990phb\nwp option get _np5pvf754c\n\n# Revisa administradores y fechas de alta.\nwp user list --role=administrator --fields=ID,user_login,user_email,user_registered\n\n# Comprueba los archivos del n\u00facleo y las tareas de WordPress.\nwp core verify-checksums\nwp cron event list\n\n# Este archivo no pertenece al n\u00facleo de WordPress.\nls -la wp-includes\/class-wp-cache-util.php\n\n# Busca una de las cadenas indicadoras en los archivos PHP.\ngrep -RIn --include='*.php' 'xmmqhn' wp-content\/\n\n# Sustituye www-data por el usuario real del servidor web.\n# Consultar el crontab de otro usuario puede requerir privilegios.\ncrontab -l -u www-data | grep 'ms6v46'\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#6A737D\"># Ejecuta los comandos desde el directorio de WordPress.<\/span><\/span>\n<span class=\"line\"><span style=\"color:#B392F0\">wp<\/span><span style=\"color:#9ECBFF\"> plugin<\/span><span style=\"color:#9ECBFF\"> get<\/span><span style=\"color:#9ECBFF\"> seo-by-rank-math-pro<\/span><span style=\"color:#79B8FF\"> --field=version<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#6A737D\"># Consulta las opciones asociadas al malware.<\/span><\/span>\n<span class=\"line\"><span style=\"color:#B392F0\">wp<\/span><span style=\"color:#9ECBFF\"> option<\/span><span style=\"color:#9ECBFF\"> get<\/span><span style=\"color:#9ECBFF\"> _uf6qdn2hmm<\/span><\/span>\n<span class=\"line\"><span style=\"color:#B392F0\">wp<\/span><span style=\"color:#9ECBFF\"> option<\/span><span style=\"color:#9ECBFF\"> get<\/span><span style=\"color:#9ECBFF\"> t8krdk990phb<\/span><\/span>\n<span class=\"line\"><span style=\"color:#B392F0\">wp<\/span><span style=\"color:#9ECBFF\"> option<\/span><span style=\"color:#9ECBFF\"> get<\/span><span style=\"color:#9ECBFF\"> _np5pvf754c<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#6A737D\"># Revisa administradores y fechas de alta.<\/span><\/span>\n<span class=\"line\"><span style=\"color:#B392F0\">wp<\/span><span style=\"color:#9ECBFF\"> user<\/span><span style=\"color:#9ECBFF\"> list<\/span><span style=\"color:#79B8FF\"> --role=administrator<\/span><span style=\"color:#79B8FF\"> --fields=ID,user_login,user_email,user_registered<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#6A737D\"># Comprueba los archivos del n\u00facleo y las tareas de WordPress.<\/span><\/span>\n<span class=\"line\"><span style=\"color:#B392F0\">wp<\/span><span style=\"color:#9ECBFF\"> core<\/span><span style=\"color:#9ECBFF\"> verify-checksums<\/span><\/span>\n<span class=\"line\"><span style=\"color:#B392F0\">wp<\/span><span style=\"color:#9ECBFF\"> cron<\/span><span style=\"color:#9ECBFF\"> event<\/span><span style=\"color:#9ECBFF\"> list<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#6A737D\"># Este archivo no pertenece al n\u00facleo de WordPress.<\/span><\/span>\n<span class=\"line\"><span style=\"color:#B392F0\">ls<\/span><span style=\"color:#79B8FF\"> -la<\/span><span style=\"color:#9ECBFF\"> wp-includes\/class-wp-cache-util.php<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#6A737D\"># Busca una de las cadenas indicadoras en los archivos PHP.<\/span><\/span>\n<span class=\"line\"><span style=\"color:#B392F0\">grep<\/span><span style=\"color:#79B8FF\"> -RIn<\/span><span style=\"color:#79B8FF\"> --include=<\/span><span style=\"color:#9ECBFF\">'*.php'<\/span><span style=\"color:#9ECBFF\"> 'xmmqhn'<\/span><span style=\"color:#9ECBFF\"> wp-content\/<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#6A737D\"># Sustituye www-data por el usuario real del servidor web.<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6A737D\"># Consultar el crontab de otro usuario puede requerir privilegios.<\/span><\/span>\n<span class=\"line\"><span style=\"color:#B392F0\">crontab<\/span><span style=\"color:#79B8FF\"> -l<\/span><span style=\"color:#79B8FF\"> -u<\/span><span style=\"color:#9ECBFF\"> www-data<\/span><span style=\"color:#F97583\"> |<\/span><span style=\"color:#B392F0\"> grep<\/span><span style=\"color:#9ECBFF\"> 'ms6v46'<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">El nombre que reconoce WP-CLI puede depender de la carpeta instalada. Si no encuentra <code>seo-by-rank-math-pro<\/code>, consulta <code>wp plugin list<\/code> y usa el identificador que aparezca para Rank Math PRO. Del mismo modo, que no aparezca una opci\u00f3n o una cadena concreta no descarta otros mecanismos de persistencia.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">V\u00eda recomendada: restaurar una copia de seguridad limpia<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Si activaste una copia afectada y conservas una copia de seguridad anterior al comienzo del incidente, restaura <strong>tanto los archivos como la base de datos<\/strong>. La referencia temporal es el <strong>15 de octubre de 2026 a las 20:02 UTC<\/strong>: las 22:02 CEST, las 16:02 EDT o la 01:32 IST del 16 de octubre.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n\n<li><strong>Restaura el sitio y su base de datos<\/strong> desde una copia limpia anterior a ese momento.<\/li>\n\n\n<li><strong>Ejecuta un an\u00e1lisis de seguridad<\/strong> con una herramienta de confianza, como <a href=\"https:\/\/wordpress.org\/plugins\/wordfence\/\">Wordfence<\/a> o <a href=\"https:\/\/wordpress.org\/plugins\/sucuri-scanner\/\">Sucuri<\/a>.<\/li>\n\n\n<li><strong>Cambia todas las contrase\u00f1as y credenciales potencialmente expuestas.<\/strong> Incluye las de la base de datos, las claves de API y los dem\u00e1s secretos que se detallan en el apartado de credenciales.<\/li>\n\n\n<li><strong>Instala Rank Math PRO 3.0.124<\/strong> desde tu cuenta de Rank Math, despu\u00e9s de restaurar el sitio.<\/li>\n\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Pide ayuda a tu proveedor de hosting si no sabes c\u00f3mo restaurar la copia. Recuperar archivos anteriores al ataque no invalida los secretos que alguien ya haya podido obtener, por lo que debes cambiarlos igualmente.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">V\u00eda alternativa: limpiar el sitio manualmente<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Si no puedes recuperar una copia limpia, tendr\u00e1s que eliminar el malware y revisar los cambios que haya dejado en WordPress y en el servidor. <strong>El orden importa:<\/strong> primero debes detener el mecanismo que reconstruye las puertas traseras y despu\u00e9s retirar los dem\u00e1s componentes.<\/p>\n\n\n\n<div class=\"wp-block-group callout callout-warning is-style-warning is-layout-flow wp-block-group-is-layout-flow\" style=\"border-width:1px;border-radius:8px;padding-top:1rem;padding-right:1.5rem;padding-bottom:1rem;padding-left:1.5rem\">\n\n<h4 class=\"wp-block-heading callout-title\">No empieces por borrar archivos sueltos<\/h4>\n\n\n<p class=\"wp-block-paragraph\">Una visita al sitio puede hacer que el malware vuelva a crear una puerta trasera. Si no tienes experiencia con archivos, bases de datos y ajustes del servidor, encarga estos pasos al proveedor de hosting o a un profesional de seguridad.<\/p>\n\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\">1. Det\u00e9n el mecanismo de persistencia<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Completa las tres acciones siguientes antes de buscar y eliminar el resto de los archivos maliciosos. Desactivar Rank Math PRO no basta para detener este mecanismo.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n\n<li><strong>Elimina la carpeta completa de Rank Math PRO.<\/strong> Localiza <code>rank-math-pro<\/code> mediante el gestor de archivos del hosting o FTP y b\u00f3rrala, no solo su archivo principal.<\/li>\n\n\n<li><strong>Elimina las opciones maliciosas de la base de datos.<\/strong> Con una herramienta como phpMyAdmin, abre la tabla <code>wp_options<\/code> y borra cualquier fila cuyo campo <code>option_name<\/code> sea <code>_uf6qdn2hmm<\/code>, <code>t8krdk990phb<\/code> o <code>_np5pvf754c<\/code>. Si la instalaci\u00f3n usa otro prefijo de tablas, busca su tabla equivalente de opciones.<\/li>\n\n\n<li><strong>Bloquea las conexiones salientes a <code>rank1cdn.com<\/code><\/strong>, si el hosting o el cortafuegos permiten hacerlo.<\/li>\n\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">2. Busca los indicadores y elimina los cambios maliciosos<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Los <strong>indicadores de compromiso<\/strong> son rastros que ayudan a localizar una intrusi\u00f3n, como nombres de archivos, cadenas de c\u00f3digo o patrones de cuentas. En este caso debes revisar cada una de las \u00e1reas siguientes: el atacante puede haber dejado varios mecanismos de acceso.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Puertas traseras ocultas en archivos PHP<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Busca archivos PHP sospechosos tanto en WordPress como en componentes que ya ten\u00edas instalados. No limites la b\u00fasqueda a la carpeta de Rank Math PRO.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li><code>wp-content\/mu-plugins\/<\/code>, donde WordPress carga plugins de uso obligatorio.<\/li>\n\n\n<li>Las carpetas de otros plugins.<\/li>\n\n\n<li>Las carpetas <code>inc\/<\/code>, <code>includes\/<\/code> y <code>lib\/<\/code> de los temas que no sean los predeterminados de WordPress.<\/li>\n\n\n<li>La carpeta <code>includes\/<\/code> de Rank Math.<\/li>\n\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Entre los patrones que debes investigar figuran <code>base64_decode<\/code> combinado con bucles XOR, que transforman datos mediante una operaci\u00f3n l\u00f3gica, la clave <code>xmmqhn<\/code> y llamadas a <code>proc_open<\/code>. Revisa tambi\u00e9n c\u00f3digo que use sockets de PHP-FPM, el gestor de procesos de PHP. Un plugin de seguridad o tu proveedor de hosting puede ayudarte a localizar estos patrones y retirar los archivos maliciosos.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Cuentas de administrador desconocidas<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Revisa todos los usuarios con permisos de administrador y comprueba qui\u00e9n autoriz\u00f3 cada cuenta. Presta especial atenci\u00f3n a nombres que empiecen por <code>wpsupport_<\/code> y contin\u00faen con caracteres aleatorios, as\u00ed como a direcciones de correo electr\u00f3nico que terminen en <code>@wp-mail[.]net<\/code>.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>wp user list --role=administrator\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#B392F0\">wp<\/span><span style=\"color:#9ECBFF\"> user<\/span><span style=\"color:#9ECBFF\"> list<\/span><span style=\"color:#79B8FF\"> --role=administrator<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Elimina las cuentas que confirmes como maliciosas o no autorizadas. No des por leg\u00edtima una cuenta solo porque su nombre parezca corresponder a un servicio de soporte.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Un archivo falso dentro del n\u00facleo de WordPress<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">El archivo <code>wp-includes\/class-wp-cache-util.php<\/code> <strong>no forma parte del n\u00facleo de WordPress<\/strong>. Si existe, elim\u00ednalo y comprueba despu\u00e9s los archivos del n\u00facleo mediante sus sumas de comprobaci\u00f3n, valores que permiten contrastarlos con las copias oficiales.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>wp core verify-checksums\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#B392F0\">wp<\/span><span style=\"color:#9ECBFF\"> core<\/span><span style=\"color:#9ECBFF\"> verify-checksums<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Reinstala los archivos del n\u00facleo desde una fuente oficial para sustituir cualquier otro archivo alterado. La revisi\u00f3n no debe terminar al encontrar y borrar ese archivo falso.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Reglas de .htaccess y archivos .cache<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Revisa el archivo <code>.htaccess<\/code> de la ra\u00edz del sitio y los que existan en sus subdirectorios. Busca reglas que permitan ejecutar archivos <code>.cache<\/code> como c\u00f3digo PHP.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Busca tambi\u00e9n archivos <code>.cache<\/code> que contengan c\u00f3digo PHP en el servidor. Investiga los resultados sospechosos: una extensi\u00f3n que parece corresponder a cach\u00e9 no garantiza que el archivo sea inocuo.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Tareas programadas de WordPress y del sistema<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Examina el crontab, la lista de tareas peri\u00f3dicas del sistema, del usuario que ejecuta el servidor web. Busca entradas marcadas con <code>#ms6v46<\/code> y revisa por separado los eventos programados de WordPress.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly># Usa el usuario real del servidor web en lugar de www-data.\ncrontab -l -u www-data\n\n# Las tareas de WordPress se revisan por separado.\nwp cron event list\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#6A737D\"># Usa el usuario real del servidor web en lugar de www-data.<\/span><\/span>\n<span class=\"line\"><span style=\"color:#B392F0\">crontab<\/span><span style=\"color:#79B8FF\"> -l<\/span><span style=\"color:#79B8FF\"> -u<\/span><span style=\"color:#9ECBFF\"> www-data<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#6A737D\"># Las tareas de WordPress se revisan por separado.<\/span><\/span>\n<span class=\"line\"><span style=\"color:#B392F0\">wp<\/span><span style=\"color:#9ECBFF\"> cron<\/span><span style=\"color:#9ECBFF\"> event<\/span><span style=\"color:#9ECBFF\"> list<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Investiga las tareas desconocidas y elimina las que confirmes como maliciosas. Revisar \u00fanicamente los eventos de WordPress no cubre las tareas que el atacante haya a\u00f1adido al sistema.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Otros plugins, temas y archivos subidos<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Reinstala los plugins y los temas desde sus fuentes oficiales y, cuando sea posible, compara sus archivos con copias limpias. Comprueba tambi\u00e9n los archivos que no encajen con el contenido esperado del sitio.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Revisa el directorio <code>uploads\/<\/code> en busca de archivos PHP, que por lo general no deber\u00edan estar all\u00ed.<\/li>\n\n\n<li>Investiga cualquier archivo inesperado antes de borrarlo.<\/li>\n\n\n<li>Investiga los archivos modificados y contr\u00e1stalos con una copia limpia cuando est\u00e9 disponible.<\/li>\n\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Cambios fuera del directorio de WordPress<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">El usuario del servidor web puede tener permiso para escribir fuera de la instalaci\u00f3n de WordPress. La revisi\u00f3n debe abarcar esos lugares y los posibles accesos que el atacante haya dejado en el servidor.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Los archivos <code>authorized_keys<\/code>, que autorizan claves para acceder mediante SSH.<\/li>\n\n\n<li>Los crontabs de otros usuarios del sistema.<\/li>\n\n\n<li>Los procesos en ejecuci\u00f3n.<\/li>\n\n\n<li>Las ubicaciones ajenas al directorio del sitio donde el usuario del servidor web pueda escribir.<\/li>\n\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Si usas hosting compartido y no puedes consultar esas \u00e1reas, pide al proveedor que las investigue. Una limpieza limitada al directorio del sitio no cubre los cambios que puedan existir fuera de \u00e9l.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. Cambia todas las credenciales potencialmente expuestas<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Sustituye los secretos a los que pod\u00eda acceder el sitio comprometido por valores nuevos y seguros. <strong>Este paso tambi\u00e9n es obligatorio si has restaurado una copia de seguridad<\/strong>, porque la copia no revoca credenciales que ya hayan salido del servidor.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li><strong>Todas las contrase\u00f1as pertinentes:<\/strong> cambia las de las cuentas de WordPress y las de otros servicios cuyas credenciales fueran accesibles desde el sitio.<\/li>\n\n\n<li><strong>Credenciales de la base de datos:<\/strong> cambia el usuario y la contrase\u00f1a y actualiza los valores correspondientes en <code>wp-config.php<\/code>.<\/li>\n\n\n<li><strong>Claves y salts de seguridad de WordPress:<\/strong> regenera en <code>wp-config.php<\/code> las claves y los valores aleatorios que WordPress usa para proteger la autenticaci\u00f3n.<\/li>\n\n\n<li><strong>Claves de API y credenciales de servicios:<\/strong> sustituye las claves de las pasarelas de pago, las credenciales de SMTP para enviar correo electr\u00f3nico, las claves de otras API y los secretos guardados en ajustes o archivos de configuraci\u00f3n.<\/li>\n\n\n<li><strong>Acceso al hosting y al servidor:<\/strong> cambia las contrase\u00f1as o credenciales del panel de hosting, FTP\/SFTP y SSH. Revisa tambi\u00e9n los secretos guardados en variables de entorno.<\/li>\n\n\n<li><strong>Autenticaci\u00f3n de dos factores:<\/strong> revisa el segundo factor de las cuentas de administrador y restabl\u00e9celo cuando sea necesario.<\/li>\n\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Actualiza la configuraci\u00f3n del sitio y de los servicios conectados con las nuevas credenciales donde corresponda. Si no sabes qu\u00e9 secretos pod\u00eda leer el sitio, pide al proveedor de hosting o a un profesional de seguridad que te ayude a inventariarlos y sustituirlos.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4. Verifica la limpieza y vigila si reaparecen archivos<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Una limpieza necesita comprobaciones posteriores, no solo una lista de archivos eliminados. Completa estas cinco revisiones antes de dar por resuelto el incidente.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n\n<li><strong>Ejecuta un an\u00e1lisis de seguridad<\/strong> con una herramienta de confianza, como Wordfence o Sucuri.<\/li>\n\n\n<li><strong>Verifica los archivos del n\u00facleo de WordPress<\/strong> con <code>wp core verify-checksums<\/code>.<\/li>\n\n\n<li><strong>Verifica los archivos de los plugins<\/strong> con <code>wp plugin verify-checksums --all<\/code>. No todos los plugins ofrecen sumas de comprobaci\u00f3n, especialmente los comerciales; cuando no existan, compara los archivos con una copia limpia de su fuente oficial.<\/li>\n\n\n<li><strong>Supervisa las conexiones salientes y la actividad sospechosa<\/strong> durante los d\u00edas siguientes.<\/li>\n\n\n<li><strong>Comprueba si reaparece alg\u00fan archivo que hayas eliminado.<\/strong><\/li>\n\n<\/ol>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>wp core verify-checksums\nwp plugin verify-checksums --all\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#B392F0\">wp<\/span><span style=\"color:#9ECBFF\"> core<\/span><span style=\"color:#9ECBFF\"> verify-checksums<\/span><\/span>\n<span class=\"line\"><span style=\"color:#B392F0\">wp<\/span><span style=\"color:#9ECBFF\"> plugin<\/span><span style=\"color:#9ECBFF\"> verify-checksums<\/span><span style=\"color:#79B8FF\"> --all<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Si vuelven a aparecer archivos sospechosos o detectas actividad inusual, la limpieza puede estar incompleta. Regresa al paso 2 de la limpieza manual y solicita una revisi\u00f3n m\u00e1s profunda al hosting o a un profesional de seguridad.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Instala la versi\u00f3n limpia desde tu cuenta<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Cuando hayas completado la v\u00eda de recuperaci\u00f3n que corresponda, instala <strong>Rank Math PRO 3.0.124<\/strong>. Escribe <code>rankmath.com<\/code> directamente en el navegador, accede a tu cuenta y descarga el plugin desde el \u00e1rea de descargas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Algunas cuentas pueden necesitar restablecer la contrase\u00f1a para recuperar el acceso. Hazlo desde el sitio al que has accedido directamente, no desde un mensaje inesperado.<\/p>\n\n\n\n<div class=\"wp-block-group callout callout-warning is-style-warning is-layout-flow wp-block-group-is-layout-flow\" style=\"border-width:1px;border-radius:8px;padding-top:1rem;padding-right:1.5rem;padding-bottom:1rem;padding-left:1.5rem\">\n\n<h4 class=\"wp-block-heading callout-title\">Desconf\u00eda de los enlaces recibidos por correo electr\u00f3nico<\/h4>\n\n\n<p class=\"wp-block-paragraph\">Rank Math indica que nunca env\u00eda enlaces de acceso ni de descarga por correo electr\u00f3nico. Trata como sospechosos los mensajes no solicitados que pidan pulsar un enlace para restablecer la contrase\u00f1a o descargar el plugin, aunque aparenten proceder de Rank Math.<\/p>\n\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Los sitios no oficiales y los que redistribuyen plugins bajo licencia GPL pueden conservar copias de la versi\u00f3n 3.0.123. Para esta recuperaci\u00f3n, descarga el paquete desde tu cuenta del proveedor, no desde un repositorio de terceros.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Qu\u00e9 cambiar en el mantenimiento a partir de ahora<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Un proveedor comercial de confianza tambi\u00e9n puede sufrir un ataque a su cadena de suministro. Las actualizaciones autom\u00e1ticas tienen una doble cara en este contexto: agilizan la llegada de versiones limpias, pero tambi\u00e9n pueden instalar un paquete oficial comprometido.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li><strong>Revisa c\u00f3mo aplicas las actualizaciones autom\u00e1ticas de plugins comerciales.<\/strong> No trates el origen oficial como una garant\u00eda absoluta de integridad.<\/li>\n\n\n<li><strong>Mant\u00e9n copias de seguridad fuera del servidor y con retenci\u00f3n suficiente.<\/strong> Necesitas poder recuperar un estado anterior al incidente, no solo la \u00faltima copia disponible.<\/li>\n\n\n<li><strong>Supervisa y restringe las conexiones salientes del servidor web cuando sea posible.<\/strong> Incluye esta revisi\u00f3n en el mantenimiento, no solo en la respuesta a incidentes.<\/li>\n\n\n<li><strong>Verifica los archivos mediante sumas de comprobaci\u00f3n<\/strong> y usa copias oficiales limpias cuando el proveedor no ofrezca esa posibilidad.<\/li>\n\n\n<li><strong>Mant\u00e9n la cautela ante correos de supuesta asistencia.<\/strong> Accede directamente a la cuenta del proveedor para gestionar contrase\u00f1as y descargas.<\/li>\n\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Qu\u00e9 hacer si no puedes confirmar el alcance<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Si no puedes averiguar cu\u00e1ndo obtuviste el paquete o si lleg\u00f3 a activarse, abre una consulta en el <a href=\"https:\/\/rankmath.com\/support\/\">soporte de Rank Math<\/a> o escribe a <code>support@rankmath.com<\/code>. Incluye la versi\u00f3n de Rank Math PRO y los pasos de recuperaci\u00f3n que ya hayas completado para que puedan orientar la revisi\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si has confirmado la activaci\u00f3n de una copia afectada, elige ya entre restaurar una copia limpia o encargar la limpieza manual. No cierres la incidencia solo porque el escritorio muestre 3.0.124: completa el cambio de credenciales, las verificaciones y la vigilancia de los d\u00edas posteriores.<\/p>\n\n\n<div class=\"references-section\">\n                <h2>Referencias \/ Fuentes<\/h2>\n                <ul class=\"references-list\"><li><a href=\"https:\/\/rankmath.com\/kb\/pro-3-0-123-security-incident\/\" target=\"_blank\" rel=\"noopener noreferrer\">Rank Math PRO 3.0.123 Security Incident: How to Secure Your Website<\/a><\/li><li><a href=\"https:\/\/www.wordfence.com\/blog\/2026\/10\/rank-math-seo-pro-3-0-123-malware\/\" target=\"_blank\" rel=\"noopener noreferrer\">Rank Math SEO PRO 3.0.123 malware<\/a><\/li><li><a href=\"https:\/\/www.wordfence.com\/threat-intel\/vulnerabilities\/id\/81cd7a2c-ad0c-4dbc-b5dc-07ec866d5c1f\" target=\"_blank\" rel=\"noopener noreferrer\">Rank Math SEO PRO 3.0.123 &#8211; Unauthenticated Embedded Malicious Code<\/a><\/li><\/ul>\n            <\/div>","protected":false},"excerpt":{"rendered":"<p>Algunos paquetes oficiales de Rank Math PRO 3.0.123 inclu\u00edan malware. Comprueba si descargaste uno de ellos y sigue el orden correcto para recuperar el sitio: actualizar el plugin no basta.<\/p>\n","protected":false},"author":17,"featured_media":291,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[135,52,145,10,6],"class_list":["post-292","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-seguridad","tag-cadena-de-suministro","tag-malware","tag-rank-math","tag-wordpress","tag-wp-cli"],"_links":{"self":[{"href":"https:\/\/helloblog.io\/es\/wp-json\/wp\/v2\/posts\/292","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/helloblog.io\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/helloblog.io\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/helloblog.io\/es\/wp-json\/wp\/v2\/users\/17"}],"replies":[{"embeddable":true,"href":"https:\/\/helloblog.io\/es\/wp-json\/wp\/v2\/comments?post=292"}],"version-history":[{"count":0,"href":"https:\/\/helloblog.io\/es\/wp-json\/wp\/v2\/posts\/292\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/helloblog.io\/es\/wp-json\/wp\/v2\/media\/291"}],"wp:attachment":[{"href":"https:\/\/helloblog.io\/es\/wp-json\/wp\/v2\/media?parent=292"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/helloblog.io\/es\/wp-json\/wp\/v2\/categories?post=292"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/helloblog.io\/es\/wp-json\/wp\/v2\/tags?post=292"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}