
CVE-2023-38545 POC per lo strumento da riga di comando curl
Questo POC si basa sul precedente POC creato da UTsweetyfish, condiviso in questo repository: https://github.com/UTsweetyfish/CVE-2023-38545. A differenza di quel POC, questo è per lo strumento da riga di comando e non per la libreria libcurl, e non richiede Python né compilazione
Questo POC è per il buffer overflow heap SOCKS5 di curl e mostra come overfloware il buffer di ricezione nello strumento da riga di comando curl. Per impostazione predefinita, curl inizializza il buffer di ricezione con una dimensione di 100k, il che lo rende non suscettibile a CVE-2023-38545. Ma la dimensione di questo buffer può essere ridotta impostando un limite di velocità (--limit-rate).
Per eseguire il POC, prima configura un proxy SOCKS5 locale usando SSH (questo richiede un server SSH in esecuzione localmente):
ssh -fND 10801 localhost
Successivamente, esegui lo script poc.sh (questo richiede Netcat (nc) installato):
./poc.sh
Potrebbero essere necessari diversi tentativi per innescare il buffer overflow. Se l'overflow viene innescato, lo script uscirà con un codice di errore e un messaggio di errore che indica che l'esecuzione è stata interrotta. Quando l'overflow fallisce e curl non è stato influenzato, viene mostrato un messaggio che indica che un host con il nome "AAAA...." non è stato risolto.
Link: