
Alpine Linux에서 작동하는 copyfail LPE (CVE-2026-31431)의 더욱 이식성 높은 POC
이것은 Copy Fail LPE (CVE-2026-31431)의 더 경량화된 포트로, /etc/passwd의 첫 몇 바이트를 패치하여 root로 su할 때 비밀번호가 필요 없게 만듭니다. 이는 원본 익스플로잇의 전체 크기를 줄이고 이식성을 높입니다. Alpine과 같은 배포판은 glibc 링크와 독립형 su 바이너리 대신 busybox/musl을 사용하므로, 원본 바이너리 패치 방법은 일반적으로 작동하지 않습니다. 저는 특히 Alpine에서 작동하는 포트를 만들고 싶었지만, 이 방법은 취약한 커널이 있는 거의 모든 배포판에서 기본 코어유틸 형식이나 CPU 아키텍처와 무관하게 작동해야 합니다. 이는 더 보편적인 대상을 수정하는 데 의존하기 때문입니다. (참고: 이 PoC는 컨테이너 탈출이 아닙니다)
이식성이 뛰어난 독립 실행형 바이너리를 위해 Go 구현을 사용하세요:
go build -o exp main.go
./exp

또는 권한 없는 사용자로 python3 exp.py를 실행하기만 하면 루트 셸을 얻을 수 있습니다.

커널 6.6.69에서 Alpine Linux 3.20.5로 테스트되었습니다.
압축된 블롭에는 바이트 문자열 root::0:0:이 포함되어 있으며, 이는 root의 원본 항목(root:x:0:0:root:/root:/bin/sh)에서 'x'를 제거하여 su가 호출될 때 /etc/shadow의 비밀번호 확인을 우회합니다.
참고 자료: