
glibc cpio 2.13에서 mmap 청크 메타데이터 손상을 통한 ACE PoC 익스플로잇 (CVE-2021-38185)
이는 cpio의 정수 오버플로 버그에 대한 ACE 개념 증명(POC)입니다. 이 익스플로잇은 완전한 RELRO를 제외한 모든 바이너리 보호를 우회합니다. 이 익스플로잇은 cpio 2.13 및 libc 2.31을 사용합니다. 비디오 데모: https://youtu.be/F0yKJhu7Vak
Kali Dockerfile이 제공되어 익스플로잇을 실행할 수 있습니다. 동일한 익스플로잇이 Docker 컨테이너 외부에서도 작동할 수 있지만, 오프셋이 다를 수 있습니다.
sudo docker build -t cpiopwn .sudo docker run --mount type=bind,source=$(pwd),destination=/cpiopwn -it cpiopwn /bin/bashcd cpiopwndocker_fengshui.py로 패턴 파일을 빌드하고 다수의 명령줄 인수와 함께 cpio를 호출합니다.
python3 exploit.py그게 전부입니다! 악성 패턴 파일을 빌드한 후 프롬프트가 나타나고, 잠시 후 명령 처리가 시작됩니다.
프롬프트가 나타난 후 약 1분 정도 지나야 명령에 응답하기 시작할 수 있습니다. 어떤 일이 발생해야 하는지 보여주는 실행 비디오가 제공됩니다.
또한, 이 익스플로잇은 cpio가 수 기가바이트의 입력을 읽도록 강제하기 때문에 최소 12GB RAM이 있는 컴퓨터에서만 작동할 수 있습니다. 이전 버전의 익스플로잇에서는 RAM이 부족한 서버에서 몇 가지 문제가 있었습니다. 현재 버전은 12GB 및 16GB RAM을 갖춘 컴퓨터에서 테스트되었지만, 더 작은 RAM에서는 테스트되지 않았습니다.
|\__/,| (`\
_.|o o |_ ) )
-(((---(((--------