
# CVE-2026-31431 개념 증명 익스플로잇 CVE-2026-31431에 대한 개념 증명 익스플로잇으로, algif_aead를 통해 로컬 권한 상승을 가능하게 하는 Linux 커널 페이지 캐시 손상 취약점입니다. exploit.py와 완화 지침을 포함합니다.
CVE-2026-31431 취약점에 대한 전문적인 개념 증명(PoC)으로, Linux 커널의 algif_aead / authencesn 페이지 캐시 처리에서 발생하는 치명적인 결함입니다.
CVE-2026-31431 취약점은 통칭 "Copy Fail" 로 알려져 있으며, 2026년 4월 29일에 공개된 페이지 캐시 스크래치 쓰기(scratch-write) 버그입니다. 이 취약점은 권한이 없는 로컬 사용자가 디스크의 파일을 수정하지 않고도 /etc/passwd 또는 /usr/bin/su와 같은 시스템 중요 파일의 페이지 캐시 뷰를 손상시킬 수 있게 하여, 로컬 권한 상승(LPE) 을 가능하게 합니다. [1]
algif_aead 구성 요소는 AEAD(인증된 연관 데이터 암호화) 작업을 제자리(in-place)에서 수행합니다. 소스 데이터가 일반 파일에서 splice()를 통해 공급되면, 대상 scatterlist는 파일의 페이지 캐시 페이지를 참조합니다. authencesn(hmac(sha256), cbc(aes)) 알고리즘은 AAD의 seqno_lo 필드에 대한 4바이트 "스크래치" 쓰기를 대상에 수행하여 페이지 캐시 복사본을 직접 손상시킵니다. [1]
| 배포판 | 상태 |
|---|---|
| Ubuntu 24.04 LTS | 취약점 확인됨 |
| Amazon Linux 2023 |
참고: 커밋
72548b093ee3(2017년으로 거슬러 올라감)을 포함하고 업스트림 롤백이 적용되지 않은 모든 커널은 잠재적으로 영향을 받습니다.
| 파일 | 설명 |
|---|---|
exploit.py | 시스템 바이너리를 대상으로 하는 LPE 프리미티브의 간결한 구현체입니다. |
제공된 익스플로잇 스크립트를 사용하여 루트 셸을 얻으려면:
python3 exploit.py
이 스크립트는 /usr/bin/su 또는 /etc/passwd의 페이지 캐시 손상을 자동화하여 권한을 상승시킵니다. 이 스크립트는 민감한 시스템 구성 요소와 상호 작용하므로 실행 전에 코드를 철저히 검토할 것을 권장합니다.
핵심 프리미티브는 다음 순서를 활용합니다:
sendmsg를 초기화합니다.splice()합니다.recv()를 트리거합니다.패치된 커널이 배포될 때까지 algif_aead 모듈을 비활성화해야 합니다:
sudo tee /etc/modprobe.d/disable-algif-aead.conf <<<'install algif_aead /bin/false'
sudo rmmod algif_aead 2>/dev/null
경고: 이 도구는 교육 및 승인된 보안 평가 목적으로만 사용됩니다. 소유하지 않았거나 명시적 테스트 권한이 없는 시스템에 대한 무단 사용은 불법이며 비윤리적입니다. 저자는 오용에 대해 어떠한 책임도 지지 않습니다.
[1] Xint 블로그: Copy Fail - Linux 배포판 공개
© 2026 BEN
| 취약점 확인됨 |
| RHEL 14.3 | 취약점 확인됨 |
| SUSE 16 | 취약점 확인됨 |