CVE-2026-31431 (Copy Fail) 취약점 점검 스크립트

취약점 개요
CVE-2026-31431 (Copy Fail) 은 Linux 커널 로컬 권한 상승 취약점으로, AF_ALG 소켓(address family 38)과 splice() 제로카피 시스템 콜을 결합하여 파일 쓰기 권한을 우회하고 페이지 캐시(page cache)를 변조함으로써, 쓰기 권한이 없는 SUID 바이너리를 변조하여 root 권한을 획득합니다.
공격 체인
socket(AF_ALG, SOCK_SEQPACKET, 0) # AF_ALG 소켓 생성
-> bind(authencesn(hmac(sha256),cbc(aes))) # AEAD 암호화 템플릿 바인딩
-> sendmsg(AEAD 작업) # 커널 암호화 경로 트리거
-> splice(-> 대상 파일) # 제로카피 쓰기, 권한 검사 우회
-> /usr/bin/su 등 SUID 파일 변조 # root로 권한 상승
영향받는 커널 버전
스크립트 기능
- 취약점 탐지: 커널 버전 판정 + algif_aead 4가지 상태 분석 + 완화 조치 확인
- 침해 조사: SUID 페이지 캐시 비교 + 모듈 로드 이력 + Shell 히스토리 스캔 + 시스템 파일 무결성 + 로그 감사 + 컨테이너 탐지
- 수정 권장 사항: 세 가지 방어 방식(modprobe.d / initcall_blacklist / 커널 업그레이드), 배포판별 구체적인 명령 제공
- 긴급 대응: 침해 징후 발견 시 전체 긴급 대응 절차 자동 출력
빠른 사용법
# 스크립트 다운로드
wget https://raw.githubusercontent.com/tangjie1/CVE-2026-31431-Check/main/cve-2026-31431-check.sh
# 실행 권한 부여 및 실행 (root 필요)
chmod +x cve-2026-31431-check.sh
sudo ./cve-2026-31431-check.sh
# 비대화형 모드 (자동화/CI에 적합)
sudo ./cve-2026-31431-check.sh --non-interactive
탐지 항목 설명
1부: 취약점 탐지 [1/3]
2부: 침해 조사 [2/3]
3부: 수정 권장 사항 [3/3]
지원 시스템
Ubuntu / Debian / Kali / CentOS / RHEL / Rocky / AlmaLinux / Fedora / openSUSE / Arch Linux / Alpine Linux
License
MIT License
면책 조항
본 도구는 보안 연구 및 승인된 침투 테스트에만 사용됩니다. 사용자는 현지 법률 및 규정을 준수하고, 명시적 승인을 받은 대상 시스템에서만 사용해야 합니다. 개발자는 승인되지 않은 사용으로 인한 결과에 대해 책임을 지지 않습니다.