
개조된 Dirty Pipe (CVE-2022-0847) PoC로, SUID 바이너리를 하이재킹하여 루트 셸을 실행합니다. (손상된 바이너리 복원도 시도합니다)
SUID 바이너리를 하이재킹하여 루트 셸을 실행하는 Dirty Pipe (CVE-2022-0847) PoC입니다. (손상된 바이너리를 복원하려는 시도도 포함합니다)
Linux 커널의 copy_page_to_iter_pipe 및 push_pipe 함수에서 새 파이프 버퍼 구조의 "flags" 멤버가 제대로 초기화되지 않아 오래된(stale) 값을 포함할 수 있는 결함이 발견되었습니다. 권한이 없는 로컬 사용자는 이 결함을 사용하여 읽기 전용 파일이 지원하는 페이지 캐시의 페이지에 쓸 수 있으며, 이를 통해 시스템에서 권한을 상승시킬 수 있습니다.
'Dirty Pipe'로 알려진 새로운 Linux 취약점으로 인해 로컬 사용자는 공개적으로 이용 가능한 익스플로잇을 통해 루트 권한을 얻을 수 있습니다.
오늘, 보안 연구원 Max Kellermann은 'Dirty Pipe' 취약점을 책임감 있게 공개했으며, Linux Kernel 5.8 이상 버전(Android 기기 포함)에 영향을 미친다고 밝혔습니다.
이 취약점은 CVE-2022-0847로 추적되며, 권한이 없는 사용자가 읽기 전용 파일(루트로 실행되는 SUID 프로세스 포함)에 데이터를 주입하고 덮어쓸 수 있습니다.
Kellerman은 고객 중 한 명의 웹 서버 액세스 로그를 손상시키는 버그를 추적하던 중 이 버그를 발견했습니다.
그런 다음 Bl4sty는 다른 버전을 작성했습니다. /etc/passwd와 같은 파일을 덮어쓰는 대신 사용자가 지정한 SUID 바이너리(예: /bin/su)를 덮어써서, 권한 있는 사용자(즉, root) 권한으로 실행되는 셸코드를 주입합니다.
gcc dirtypipez.c -o exploit
./exploit /bin/su