El CVE-2026-3018 WordPress es una vulnerabilidad de inyección SQL time-based blind en el plugin Newsletters, documentada por Wordfence en 2026. Afecta todas las versiones hasta la 4.13 inclusive, permite a atacantes sin ningún tipo de autenticación extraer datos confidenciales de la base de datos vía el parámetro wpmlsubscriber_id, y tiene una puntuación CVSS 7.5 (alta).

En 30 segundos

  • Qué es: SQL Injection time-based blind en el plugin Newsletters de WordPress, parámetro wpmlsubscriber_id, sin autenticación requerida.
  • Versiones vulnerables: Todas las versiones de Newsletters hasta la 4.13 inclusive.
  • Gravedad CVSS: 7.5 (alta) — acceso de red, baja complejidad, sin privilegios, confidencialidad comprometida totalmente.
  • Qué puede robar un atacante: emails de suscriptores, hashes de contraseñas, tokens de sesión, cualquier dato en la base.
  • Solución: actualizar el plugin a la versión parcheada desde WP Admin o manualmente vía SFTP.

¿Qué es el CVE-2026-3018 y cuál es su impacto en WordPress?

El CVE-2026-3018 es una vulnerabilidad de inyección SQL de tipo time-based blind identificada en el plugin Newsletters para WordPress, que se usa para gestionar listas de suscriptores y campañas de email desde el panel de administración. Con puntuación CVSS 7.5 (alta), permite que cualquier atacante sin credenciales, operando desde cualquier red, extraiga información confidencial completa de la base de datos del sitio. Afecta todas las versiones del plugin hasta la 4.13 inclusive, según el reporte de Wordfence.

Ponele que administrás un sitio WordPress con el plugin Newsletters activo. Alguien en internet, sin estar logueado, sin conocer ninguna contraseña, envía una request HTTP con el parámetro wpmlsubscriber_id modificado. En unos minutos tiene acceso a la lista completa de emails de tus suscriptores, los hashes de contraseñas de wp_users, y potencialmente cualquier dato de tu base. Eso es exactamente lo que habilita esta falla.

El vector de ataque está documentado en el código fuente del plugin, visible en el changeset 3566485 del repositorio oficial de WordPress. El parámetro se incorpora a la consulta SQL sin sanitización ni prepared statements.

Esto no requiere que el atacante tenga cuenta de editor, suscriptor ni nada. Cualquiera, desde cualquier red, sin ningún privilegio previo. Eso es lo que la saca del rango «medio» y la pone en «alta».

¿Cuál es la gravedad del CVSS 7.5 y por qué sin autenticación cambia todo?

El vector completo es CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N. Cada componente tiene su traducción práctica:

  • AV:N (Vector de Acceso: Red): se explota desde internet, sin acceso físico ni local al servidor.
  • AC:L (Complejidad: Baja): no requiere condiciones especiales ni conocimiento del entorno objetivo.
  • PR:N (Privilegios Requeridos: Ninguno): el atacante no necesita cuenta ni sesión activa en el sitio.
  • UI:N (Interacción del Usuario: Ninguna): no hace falta que la víctima haga clic en nada.
  • C:H (Confidencialidad: Alta): acceso completo de lectura a la base de datos.
  • I:N / A:N: no modifica datos ni interrumpe el servicio de forma directa (aunque eso puede cambiar si el atacante usa lo que extrae).

La combinación PR:N con AC:L es la que sube el puntaje. Una vulnerabilidad similar pero autenticada tendría una puntuación más baja al requerir privilegios. Sin autenticación, la barrera de entrada es cero. Entre los principales WAF del mercado profundizamos sobre esto.

Tipo de SQLi en plugins WordPressPrivilegios requeridosComplejidadCVSS típico
Sin autenticación (CVE-2026-3018)NingunoBaja7.5 – 9.8
Autenticado como suscriptorBajoBajaMenor, varía por caso
Autenticado como colaborador/editorMedioBajaMenor, varía por caso
Autenticado como administradorAltoBajaMenor, varía por caso
cve-2026-3018 wordpress diagrama explicativo

¿Y qué pasa con el I:N, que indica que la integridad no se ve afectada? Que la vulnerabilidad en sí no escriba datos no significa que el atacante no pueda escalar. Con los hashes y tokens que extrae, puede intentar comprometer el sitio por otro vector.

¿Cuáles son las versiones del plugin Newsletters afectadas?

Están en riesgo todas las versiones de Newsletters hasta la 4.13 inclusive. El parche está documentado en el changeset 3566485, que corrige la sanitización del parámetro afectado.

Para verificar la versión instalada: WP Admin > Plugins > Plugins instalados, buscá «Newsletters» en la lista y fijate el número de versión debajo del nombre. Si dice 4.13 o cualquier número menor, la instalación está expuesta.

¿Cómo se explota el parámetro wpmlsubscriber_id en la práctica?

La falla está en que el valor del parámetro wpmlsubscriber_id llega directamente a una consulta SQL sin pasar por sanitización ni por prepared statements. El código afectado está identificado en la línea 6040 de wp-mailinglist-plugin.php versión 4.11.

En una time-based blind injection, el atacante no ve el resultado de la consulta en la respuesta HTTP (spoiler: si lo viera, sería incluso peor). En cambio, usa payloads que le dicen a la base de datos «si la primera letra del primer email es ‘a’, esperá 5 segundos antes de responder». Mide el tiempo de respuesta, confirma o descarta el dato, y repite automáticamente con herramientas como sqlmap: mandás la request, esperás el delay, tomás la letra, pasás a la siguiente, y después de unas horas de requests automatizadas tenés la tabla wp_users completa en tu disco, con emails, hashes de contraseñas y metadatos de todos los usuarios del sitio.

Este tipo de ataque es más lento que una union-based injection, pero también más silencioso. No genera errores SQL visibles en la pantalla del usuario ni mensajes de excepción en los logs de la aplicación.

¿Cómo actualizar el plugin Newsletters a una versión segura?

Antes de cualquier actualización, hacé un backup de la base de datos y los archivos del sitio. Con WPVivid son 5 minutos que pueden ahorrarte horas de trabajo de recuperación. Lo explicamos a fondo en en nuestra guía sobre CVEs WordPress.

  • Desde WP Admin: Plugins > Plugins instalados, buscá «Newsletters». Si hay actualización disponible, aparece un aviso con el link «Actualizar ahora» debajo del nombre del plugin.
  • Actualización manual: descargá la última versión desde el repositorio oficial de WordPress.org, extraé el ZIP y subí la carpeta del plugin vía SFTP, reemplazando la carpeta existente en wp-content/plugins/newsletters-lite/.
  • ¿Perdés los datos de suscriptores? No. Las listas, segmentos y configuraciones viven en la base de datos, no en los archivos del plugin. La actualización no los toca.

Después de actualizar, verificá que el número de versión sea superior a 4.13 y probá que los formularios de suscripción y el panel de campañas funcionen correctamente.

¿Cómo verificar si mi sitio WordPress fue atacado vía CVE-2026-3018?

El problema con las time-based blind injections es que son discretas (si es que «discretas» aplica para algo que roba toda tu base de datos). Sin errores visibles en el frontend, sin modificaciones obvias, sin desfiguraciones. Abrís el sitio, todo carga bien, y no sabés si alguien ya pasó por ahí.

Lo que podés revisar:

  • Logs de acceso del servidor: buscá requests que contengan wpmlsubscriber_id en la URL con caracteres sospechosos: comillas simples, SLEEP, BENCHMARK, UNION, SELECT. Son los payloads típicos de SQLi automatizado.
  • Volumen de requests: herramientas como sqlmap hacen decenas o cientos de requests por minuto al mismo endpoint. Un pico de tráfico inusual hacia ese parámetro en un periodo corto es señal directa de explotación.
  • Wordfence scan completo: ejecutalo desde el panel. Detecta patrones de SQLi conocidos y cambios no autorizados en archivos del núcleo.
  • Revisá wp_users: si hay usuarios administradores que no creaste vos, el ataque escaló más allá de solo leer datos.

Si encontrás evidencia de explotación, la respuesta inmediata es cambiar todas las contraseñas del sitio (usuarios WordPress, base de datos, FTP/SFTP) y notificar a los suscriptores si corresponde.

¿Qué otras defensas implementar más allá de actualizar el plugin?

Actualizar resuelve esta vulnerabilidad específica. Lo que sigue es defensa en profundidad para que la próxima no te agarre igual de desprevenido.

  • Web Application Firewall (WAF): Cloudflare y Sucuri ofrecen WAF que bloquean patrones de SQLi antes de que lleguen al servidor. No reemplazan el parche, pero agregan una barrera adicional que compra tiempo.
  • Wordfence en modo activo: no solo el firewall, también las alertas en tiempo real. Configurado bien, te avisa cuando detecta un intento de explotación mientras está ocurriendo.
  • Backups automáticos regulares: WPVivid con backups diarios de base de datos y semanales de archivos. Si algo sale mal, la recuperación es a un estado conocido, no a cero.
  • Actualizaciones automáticas habilitadas: el tiempo entre que se publica un parche y que vos lo instalás es la ventana de exposición real. Para plugins de seguridad críticos, activá las actualizaciones automáticas.
  • Hosting con protecciones a nivel servidor: en donweb.com los planes de WordPress incluyen capas de protección a nivel infraestructura que complementan lo que hacen los plugins instalados.

Errores comunes al gestionar esta vulnerabilidad

Error 1: asumir que el plugin de newsletters es de bajo riesgo. Los plugins de email marketing son objetivos atractivos: guardan listas de contactos completas, con nombres, emails y a veces metadatos adicionales. Un atacante que extrae esa base tiene material para phishing dirigido, spam o venta en foros. La «baja visibilidad» de estos plugins no equivale a bajo riesgo. Más contexto en si ya fue comprometido tu sitio.

Error 2: actualizar el plugin y no cambiar las credenciales. Si el ataque ocurrió antes de que parcheases (lo cual no podés saber con certeza), el parche no deshace lo que ya fue robado. Después de actualizar, cambiá las contraseñas de todos los usuarios de WordPress y de acceso a la base de datos. Idealmente con contraseñas largas y únicas por sitio (espero que ya sea el caso en el tuyo).

Error 3: dar por seguro que Wordfence bloqueó el ataque sin verificarlo. Wordfence registra los intentos bloqueados, pero la configuración por defecto no alerta sobre todos los patrones de explotación. Revisá los logs del firewall buscando requests hacia el endpoint de Newsletters. Si no sabés cómo hacer esa revisión, es una buena oportunidad para aprenderlo, porque no es la última vulnerabilidad de este tipo que vas a ver. Mirá también para reproducir y testear la vulnerabilidad.

Esto ya lo cubrimos en detalle cuando escribimos sobre CVE-2026-3018.

Esto se conecta con CVE-2026-3018, donde cubrimos el tema en detalle.

Si querés profundizar en esto, tenemos un artículo sobre CVE-2026-3018.

Preguntas Frecuentes

¿Qué es el CVE-2026-3018 y cómo afecta a mi sitio WordPress?

El CVE-2026-3018 es una vulnerabilidad de inyección SQL time-based blind en el plugin Newsletters para WordPress, versiones hasta 4.13 inclusive. Permite que cualquier persona sin credenciales extraiga datos de la base de datos del sitio, incluyendo emails de suscriptores y hashes de contraseñas de usuarios. Si tenés el plugin instalado en versión 4.13 o anterior, tu base de datos está expuesta a este ataque desde internet.

¿Qué significa exactamente una puntuación CVSS 7.5?

CVSS 7.5 es clasificado como «alto» en la escala de severidad (el rango alto va de 7.0 a 8.9). En este caso, el puntaje refleja acceso desde cualquier red, sin autenticación, sin interacción del usuario, con impacto total sobre la confidencialidad de los datos. No afecta integridad ni disponibilidad de forma directa, lo que hubiera subido el puntaje aún más.

¿Cómo sé si la versión de Newsletters que tengo instalada ya está parcheada?

Entrá a WP Admin > Plugins > Plugins instalados y revisá el número de versión junto al plugin Newsletters. Si es 4.13 o inferior, está vulnerable. El parche fue aplicado en el changeset 3566485 del repositorio oficial. Si hay un aviso de «Actualización disponible», ese es el parche que necesitás instalar. Relacionado: según el reporte reciente de Wordfence.

¿Cómo saber si mi WordPress fue atacado por inyección SQL vía este CVE?

Revisá los logs de acceso del servidor buscando requests que incluyan el parámetro wpmlsubscriber_id con caracteres SQL como comillas simples, SLEEP, UNION o BENCHMARK. Un volumen alto de requests repetidas al mismo endpoint en poco tiempo es indicativo de explotación automatizada. El escaneo completo de Wordfence también detecta patrones asociados a este tipo de ataque.

¿Qué defensas adicionales puedo implementar contra vulnerabilidades de este tipo?

La defensa primaria es mantener los plugins actualizados. Las capas adicionales incluyen un WAF (Cloudflare o Sucuri), Wordfence activo con alertas en tiempo real, backups automáticos diarios y actualizaciones automáticas habilitadas para plugins críticos. Ninguna de estas capas reemplaza el parche, pero juntas reducen la ventana de exposición entre que se publica una vulnerabilidad y que vos la aplicás.

Conclusión

El CVE-2026-3018 WordPress es exactamente el tipo de vulnerabilidad que no da señales visibles hasta que ya es tarde: sin errores en pantalla, sin modificaciones obvias en el sitio, sin alertas automáticas si Wordfence no está bien configurado. Un atacante podría haber extraído toda la lista de suscriptores del plugin Newsletters antes de que te enteraras de que la falla existía.

Lo concreto: si tenés el plugin Newsletters instalado, verificá la versión ahora. Si estás en 4.13 o inferior, actualizá antes de hacer cualquier otra cosa. Después revisá los logs buscando los patrones descritos arriba. Si encontrás evidencia de actividad sospechosa, cambiá todas las credenciales del sitio.

Actualizar el plugin tarda dos minutos. Recuperarse de una filtración de base de datos completa no.

Fuentes

Categorizado en: