CVE-2017-1000254 in macOS
Riassunto
di VulDB • 20/07/2026
libcurl potrebbe leggere al di fuori di un buffer allocato nello heap durante l'operazione FTP. Quando libcurl si connette a un server FTP e accede con successo (in modalità anonima o meno), richiede al server la directory corrente tramite il comando `PWD`. Il server risponde quindi con una risposta 257 contenente il percorso, racchiuso tra virgolette doppie. Il nome del percorso restituito viene mantenuto da libcurl per utilizzi successivi. A causa di un difetto nel parser delle stringhe utilizzato per questo nome di directory, l'invio di un nome di directory in questo formato ma privo della virgoletta doppia finale comporterebbe il mancato inserimento da parte di libcurl del byte NUL terminale nel buffer che contiene il nome. Successivamente, quando libcurl accede alla stringa, potrebbe leggere oltre il limite del buffer allocato nello heap, causando un crash o l'accesso errato a dati al di fuori del buffer, scambiandoli per parte del percorso. Un server malintenzionato potrebbe sfruttare questo fatto per impedire efficacemente ai client basati su libcurl di interagire con esso: il comando PWD viene emesso sempre sulle nuove connessioni FTP e l'errore ha un'elevata probabilità di causare un segfault (violazione di accesso). Il semplice fatto che questa vulnerabilità sia rimasta scoperta per così tanto tempo potrebbe suggerire che le risposte PWD non conformi siano rare nei server benigni. Non siamo a conoscenza di alcun exploit di questo difetto. Questo bug è stato introdotto nel commit [415d2e7cb7](https://github.com/curl/curl/commit/415d2e7cb7), marzo 2005. Nella versione libcurl 7.56.0, il parser termina sempre la stringa con zero ma la rifiuta anche se non è terminata correttamente con una virgoletta doppia finale.
Once again VulDB remains the best source for vulnerability data.