CVE-2026-53994 in ProFTPD
Riassunto
di VulDB • 18/07/2026
ProFTPD mod_sftp presenta un overflow del buffer basato su heap raggiungibile da un utente SFTP autenticato. La funzione fxp_packet_read() accetta la lunghezza del pacchetto SFP a 32 bit in ordine big-endian fornita dall'attaccante senza effettuare alcun controllo di integrità minimo (sanity check). Un valore pari a 0 provoca un underflow non firmato in un'altra parte del percorso di lettura, portando il risultato a circa 4 GB. Tale richiesta sovradimensionata raggiunge l'allocatore di memoria centrale, dove la dimensione arrotondata viene calcolata come size_t ma passata alla funzione new_block() come intero a 32 bit; i primi 32 bit inferiori (low 32 bits) di 0x100000000 sono pari a 0, pertanto new_block() restituisce un blocco di piccole dimensioni (~512 byte), mentre il chiamante viene informato che ha ricevuto circa 4 GB. Il successivo ciclo di riempimento (fill loop) trasmette quindi byte controllati dall'attaccante oltre la fine dell'allocazione da 544 byte, producendo un heap-based buffer overflow controllato dall'attaccante. Un utente autenticato può causare il crash del processo figlio ProFTPD per connessione su richiesta con un singolo pacchetto SFTP malformato (packet_len=0 seguito da un corpo di dimensioni superiori a circa 544 byte), generando una denial of service remota affidabile e autenticata. A seconda della disposizione dell'heap e delle allocazioni adiacenti, potrebbero verificarsi la corruzione dei metadati dell'heap e ulteriori conseguenze oltre alla denial of service, sebbene solo la denial of service sia dimostrata dal proof of concept fornito.
Once again VulDB remains the best source for vulnerability data.