
CVE-2026-31431에 대한 개념 증명 익스플로잇으로, authencesn 로직 버그를 통한 Linux 로컬 권한 상승이며, 공인된 실험실 검증을 위한 ARM64 변형을 포함합니다.
Copy Fail은 Theori/Xint가 CVE-2026-31431로 공개한 Linux 로컬 권한 상승 취약점입니다. 프로젝트 페이지에서는 AF_ALG와 splice()를 통해 도달할 수 있는 authescesn의 로직 버그를 설명하며, 이로 인해 setuid 바이너리에 대한 작은 페이지 캐시 쓰기가 발생합니다. 영향을 받는 시스템에서는 권한이 없는 로컬 사용자가 root가 될 수 있습니다.
이 저장소는 업스트림 PoC의 사본을 유지하고 Ubuntu 25.10 ARM에서 테스트된 ARM64 변형을 추가합니다.

| 파일 | 용도 |
|---|---|
copy_fail_exp.py | 원본 업스트림 PoC로, 소스 URL은 파일 헤더에 명시되어 있습니다. |
copy_fail_exp_arm64.py | ARM64에 맞게 조정된 PoC로, Ubuntu 25.10 ARM에서 테스트되어 작동합니다. |
이 스크립트는 일회용 실습 시스템에서의 승인된 검증 전용입니다. 일반적인 취약점 스캐너가 아닙니다. /usr/bin/su에 대해 Copy Fail 악용 경로를 시도하며, 호스트가 취약하고 환경이 호환되는 경우 실제 root 셸이 생성됩니다.
⚡ 호환되는 Linux 시스템에서 공개 악용 경로를 검증하려면 원본 PoC를 사용하세요. ARM 기반 Linux 호스트에서 임베디드 페이로드가 업스트림 스크립트와 다른 경우 ARM64 변형을 사용하세요.
실패한 실행이 호스트가 패치되었음을 증명하지는 않습니다. 커널 버전, 배포판 백포트, 아키텍처, 로컬 하드닝, 컨테이너 정책, 런타임 환경이 모두 동작에 영향을 줄 수 있습니다.
먼저 패치하세요. copy.fail에 따르면 시스템은 메인라인 커밋 a664bf3d603d를 포함하는 배포판 커널로 업데이트한 다음 해당 커널로 재부팅하고 실행 중인 버전을 확인해야 합니다.
커널을 패치할 수 있을 때까지 algif_aead 모듈을 비활성화하세요:
sudo sh -c 'printf "%s\n" "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif.conf'
sudo rmmod algif_aead 2>/dev/null || true
컨테이너, CI 러너, 샌드박스, 공유 개발자 호스트와 같은 신뢰할 수 없는 워크로드의 경우 seccomp 정책으로 AF_ALG 소켓 생성을 차단하세요.
copy.fail의 완화 지침에 따르면 algif_aead를 비활성화해도 일반적인 dm-crypt/LUKS, kTLS, IPsec/XFRM, OpenSSL/GnuTLS/NSS, SSH 또는 커널 키링 암호화 사용에는 영향을 미치지 않아야 합니다. AF_ALG 소켓을 사용하도록 명시적으로 구성된 소프트웨어에는 영향을 미칠 수 있습니다.