
CVE-2023-38545 POC for the curl command line tool
이 POC는 UTsweetyfish가 작성한 이전 POC를 기반으로 하며, 다음 저장소에 공유되어 있습니다: https://github.com/UTsweetyfish/CVE-2023-38545. 해당 POC와 달리 이 POC는 libcurl 라이브러리가 아닌 명령줄 도구를 위한 것이며, Python이 필요하지 않고 컴파일도 필요하지 않습니다.
이 POC는 curl SOCKS5 힙 버퍼 오버플로를 위한 것으로, curl 명령줄 도구의 수신 버퍼를 오버플로하는 방법을 보여줍니다. 기본적으로 curl은 수신 버퍼를 100k 크기로 초기화하므로 CVE-2023-38545에 취약하지 않습니다. 그러나 이 버퍼의 크기는 속도 제한(--limit-rate)을 설정하여 줄일 수 있습니다.
POC를 실행하려면 먼저 SSH를 사용하여 로컬 SOCKS5 프록시를 설정하세요 (로컬에서 실행 중인 SSH 서버가 필요합니다):
ssh -fND 10801 localhost
다음으로 poc.sh 스크립트를 실행하세요 (Netcat(nc)이 설치되어 있어야 합니다):
./poc.sh
버퍼 오버플로를 트리거하려면 여러 번 시도해야 할 수 있습니다. 오버플로가 트리거되면 스크립트는 오류 코드와 함께 종료되고 실행이 중단되었음을 나타내는 오류 메시지가 표시됩니다. 오버플로가 실패하고 curl이 영향을 받지 않으면 "AAAA...."라는 이름의 호스트를 확인할 수 없다는 메시지가 표시됩니다.
링크: