
Linux 커널 io_uring AF_VSOCK 참조 카운트(reference-count) 버그를 대상으로 하는 로컬 권한 상승 익스플로잇으로, 페이지 캐시(page-cache) 조작을 통해 /usr/bin/su를 덮어써 루트 셸을 획득합니다. 승인된 보안 연구 및 테스트를 위해 제작되었습니다.
HackSpeak 배포 미러. 이 저장소는 MaherAzzouzi/vsockdrop의 배포 미러입니다, 코드는 업스트림과 일치합니다. 업스트림에 LICENSE가 포함되어 있지 않아, 미러는 배포 관례에 따라 MIT License, Copyright (c) 2026 HackSpeak를 적용하며, 소스 코드 저작권은 원저작자 MaherAzzouzi에게 있습니다.
⚠️ 완전한 로컬 권한 상승(LPE) 익스플로잇 포함 —
/usr/bin/su의 page-cache를 수정합니다(CoW 파일 시스템에서는 디스크에 영구 저장될 수 있음). 보안 연구, 취약점 검증 및 승인된 테스트 전용입니다. 소유하거나 명시적으로 승인된 격리된 환경에서만 실행하고, 승인되지 않은 시스템에는 사용하지 마십시오.
**VsockDrop(CVE-2026-53365)**는 Linux 커널 io_uring 제로카피 전송 경로(AF_VSOCK)의 참조 카운트 처리 오류 취약점으로, **권한 없는 로컬 권한 상승(LPE)**을 유발할 수 있습니다.
io_uring은 SKBFL_MANAGED_FRAG_REFS를 사용하지만 vsock 경로가 이 플래그를 준수하지 않음 → __skb_frag_unref()가 managed page에 대해 put_page() 호출 → 전송할 때마다 추가 put_page가 발생하여 pin 카운트를 직접 감소시킴;SEND_ZC를 통해 refcount = 1 + 1024를 0까지 소진 → 여전히 pinned된 page가 PCP freelist로 해제됨;pread로 /usr/bin/su의 0번째 페이지를 읽어 LIFO freelist에서 방금 해제된 PFN을 되찾음 → 해당 page가 io_uring fixed buffer와 su page-cache에 동시에 별칭(alias)됨;write_fixed/read_fixed로 su page의 PT_INTERP 문자열을 공격자 loader 경로로 변경;exec("/usr/bin/su")(setuid-root) → 커널이 공격자 loader를 인터프리터로 매핑 → root 자격으로 진입 → root shell 획득.make
./exploit
⚠️ 위험한 작업: 익스플로잇이 /usr/bin/su의 page-cache 내용을 수정합니다. CoW 파일 시스템(Btrfs, ZFS 등)에서는 이 수정이 디스크에 영구 저장될 수 있습니다. 파괴 가능한 격리된 환경에서만 실행하십시오.