Vulnerabilidad CVE-2021-30047: descripción completa
Vulnerabilidad CVE-2021-30047: descripción completa
Escrito por: Nadine Rozell
Publicado: 24/04/2026
¿Qué es la vulnerabilidad CVE-2021-30047?
CVE-2021-30047 es una vulnerabilidad de denegación de servicio (DoS) remota que afecta al servidor vsftpd (Very Secure FTP Daemon), específicamente la versión 3.0.3.
La vulnerabilidad se origina en un problema en la forma en que el daemon maneja las conexiones concurrentes. Al generar una gran cantidad de conexiones que permanecen activas o en un estado específico, un atacante remoto puede agotar los espacios de conexión disponibles permitidos por la configuración del servidor. Esto impide que los usuarios legítimos establezcan nuevas conexiones, dejando el servicio FTP inoperativo. Si bien no permite el robo de datos ni la ejecución remota de código, representa un riesgo significativo de disponibilidad para los servidores FTP expuestos públicamente.
¿Cuándo se descubrió?
A la vulnerabilidad se le asignó un ID de CVE en 2021 pero se publicó formalmente en la National Vulnerability Database (NVD) el 22 de agosto de 2023. La lógica del exploit, a menudo denominada "vsftpd 3.0.3 - Remote Denial of Service", apareció en bases de datos públicas de exploits (como Exploit-DB) ya desde 2021.
Productos y versiones afectados
La vulnerabilidad afecta específicamente a la rama 3.0.3 de vsftpd, ampliamente utilizada en muchas distribuciones de Linux.
Producto | Versiones afectadas | Versiones corregidas / Mitigación |
vsftpd | 3.0.3 | Cambios de configuración o parches ascendentes (según la distro) |
Distros de Linux | Varias (Debian, RedHat, etc.) que ejecutan vsftpd 3.0.3 | Aplica la configuración de mitigación en vsftpd.conf |
Descripción técnica de CVE-2021-30047
La vulnerabilidad explota los mecanismos de manejo de conexiones predeterminados del demonio vsftpd.
Por diseño, vsftpd tiene parámetros para limitar la cantidad de clientes simultáneos (max_clients) y la cantidad de conexiones por dirección IP (max_per_ip). Sin embargo, en configuraciones predeterminadas o incorrectas, un atacante puede iniciar rápidamente una ráfaga de solicitudes de conexión.
El exploit funciona creando múltiples sockets y conectándose al servidor FTP objetivo (puerto TCP 21) sin cerrarlos. El servidor asigna recursos (proceso o hilo) para cada conexión. Una vez que se alcanza el límite, el servidor deja de aceptar nuevas conexiones y responde con códigos de error como 421 There are too many connected users, please try later..
A diferencia de los desbordamientos de búfer complejos, este es un ataque de agotamiento de recursos. El script de "exploit" simplemente automatiza el proceso de llenar estos espacios más rápido de lo que el servidor puede agotarlos por tiempo de espera.
Tácticas, técnicas y procedimientos (TTPs)
Los atacantes aprovechan esta vulnerabilidad principalmente para la interrupción del servicio (impacto).
Reconocimiento: Los atacantes escanean en busca del puerto 21 abierto y capturan el banner para identificar la versión como vsftpd 3.0.3.
Explotación: Se lanza un script que abre cientos o miles de conexiones hacia la IP objetivo. El atacante no necesita autenticarse; el handshake inicial es suficiente para consumir un espacio.
Persistencia (del efecto): El atacante mantiene estos sockets abiertos y envía paquetes de "keep-alive" para evitar que el servidor los cierre por inactividad.
Indicadores de compromiso
Indisponibilidad del servicio: Los usuarios legítimos presentan un informe donde señalan que no pueden conectarse al servidor FTP y reciben errores de "Too many connected users".
Volumen de registros: Los registros del sistema (por ejemplo, /var/log/vsftpd.log o syslog) muestran una afluencia masiva de intentos de conexión desde una sola IP o un rango reducido de IPs.
Picos de procesos: Una cantidad inusualmente alta de procesos secundarios de vsftpd visibles en herramientas de monitoreo de procesos (como top o htop), incluso si el uso de CPU es bajo.
Pruebas de concepto y exploits conocidos
Hay una prueba de concepto (PoC) pública disponible en Exploit-DB (ID: 49719).
El script es un programa simple en Python que utiliza hilos para generar múltiples conexiones de socket hacia el servidor objetivo. Debido a su simplicidad, se modifica fácilmente y se integra en botnets para ataques de denegación de servicio distribuido (DDoS).
¿Cómo detectar la vulnerabilidad CVE-2021-30047?
Captura de banner: Revisa el banner de FTP para ver la cadena de versión (vsftpd 3.0.3).
Auditoría de configuración: Revisa /etc/vsftpd.conf para comprobar si max_per_ip y max_clients están configurados en valores adecuadamente bajos. Si max_per_ip está configurado en 0 (ilimitado) o en un número muy alto, el sistema es muy susceptible.
Monitoreo de red: Genera una alerta ante un alto número de conexiones TCP concurrentes al puerto 21 desde una sola dirección IP externa.
Impacto y riesgo de la vulnerabilidad CVE-2021-30047
El riesgo se califica como alto (CVSS 7.5), y afecta específicamente a la disponibilidad.
Para las organizaciones que dependen de FTP para transferencias de datos críticas (por ejemplo, copias de seguridad automatizadas, canalizaciones de ingesta de archivos), esta vulnerabilidad puede detener las operaciones por completo. Sin embargo, no compromete la confidencialidad de los datos ni la integridad de los archivos del servidor.
Estrategias de mitigación y remediación
Dado que esto explota un límite de recursos, la mitigación suele implicar un endurecimiento de la seguridad de la configuración en lugar de solo aplicar un parche binario.
Configura límites de conexión: Edita tu archivo vsftpd.conf para limitar estrictamente las conexiones. Configura max_per_ip en un número razonable (por ejemplo, 5 o 10) para evitar que un solo atacante consuma todos los espacios disponibles.
Habilita la limitación de velocidad: Usa reglas de firewall (iptables o nftables) para limitar la velocidad de las nuevas conexiones al puerto 21 (por ejemplo, permitiendo solo 10 nuevas conexiones por minuto desde una sola IP).
Actualiza el software: Asegúrate de que los paquetes de tu distribución de Linux estén actualizados, ya que algunos mantenedores pueden haber adaptado correcciones que manejan mejor la limitación de conexiones.
Preguntas frecuentes sobre la vulnerabilidad CVE-2021-30047