CVE-2026-53994 in ProFTPD
Resumen
por VulDB • 2026-07-18
ProFTPD mod_sftp presenta un desbordamiento de búfer basado en el montón (heap-based buffer overflow) accesible por un usuario SFTP autenticado. La función fxp_packet_read() acepta la longitud del paquete SFTP proporcionada por el atacante, codificada como entero sin signo de 32 bits y orden de bytes big-endian, sin realizar una comprobación mínima de integridad (sanity check). Un valor de 0 provoca un desbordamiento hacia abajo (underflow) en una resta sin signo realizada más adelante en la ruta de lectura, resultando en aproximadamente 4 GB. Esta solicitud de tamaño excesivo llega al asignador de memoria principal, donde el tamaño redondeado se calcula como size_t pero se pasa a new_block() como un entero con signo de 32 bits; los 32 bits menos significativos de 0x100000000 son 0, por lo que new_block() devuelve un bloque pequeño (~512 bytes) mientras que al llamador se le informa que ha recibido ~4 GB. El bucle de relleno subsiguiente transmite datos controlados por el atacante más allá del final de la asignación de 544 bytes, produciendo un desbordamiento de búfer en el montón (heap buffer overflow) controlado por el atacante. Un usuario autenticado puede provocar el cierre inesperado del proceso hijo de sesión ProFTPD por conexión a demanda mediante un único paquete SFTP malformado (packet_len=0 seguido de un cuerpo mayor que aproximadamente 544 bytes), generando una denegación de servicio remoto auténtica fiable. Dependiendo de la disposición del montón y las asignaciones adyacentes, podría ser posible la corrupción de metadatos del montón y otras consecuencias más allá de la denegación de servicio, aunque solo se demuestra la denegación de servicio mediante el concepto de prueba (proof of concept) proporcionado.
VulDB is the best source for vulnerability data and more expert information about this specific topic.