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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-43494-PinTheft-PoC — CVE-2026-43494 (PinTheft)용 개념 증명(PoC): RDS zerocopy refcount 버그 + io_uring 고정 버퍼를 통한 Linux LPE → SUID 페이지 캐시 덮어쓰기. 승인된 연구 목적으로만 사용하십시오. | Kitploit
도구/GitHubGitHub/tanzz1337/cve-2026-43494-pintheft-poc
Privilege EscalationVulnerability AnalysisExploitationPapers & ResearchLearning & EducationBinary Exploitation
GitHubtanzz1337/cve-2026-43494-pintheft-poc

CVE-2026-43494-PinTheft-PoC

CVE-2026-43494 (PinTheft)용 개념 증명(PoC): RDS zerocopy refcount 버그 + io_uring 고정 버퍼를 통한 Linux LPE → SUID 페이지 캐시 덮어쓰기. 승인된 연구 목적으로만 사용하십시오.

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

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

SLEY — PinTheft PoC (CVE-2026-43494)

SLEY PoC — WSL2에서 uid 1000 → root

개념 증명 — WSL2(6.6.87.2-microsoft-standard-WSL2)에서 ./sley 실행 후 uid=1000(raken) → uid=0(root)

CVE-2026-43494 Linux LPE io_uring RDS

CVE-2026-43494 (PinTheft)에 대한 단일 파일 개념 증명(PoC): RDS zerocopy 참조 횟수 버그와 io_uring 고정 버퍼를 연쇄적으로 이용하여 SUID-root 바이너리의 페이지 캐시를 덮어쓰는 Linux 커널 로컬 권한 상승 취약점입니다.

면책 조항: 이 저장소는 공인된 보안 연구, 교육 및 방어적 테스트 전용입니다. 소유하지 않았거나 테스트에 대한 명시적 허가가 없는 시스템에 대해 이 도구를 실행하는 것은 불법적이고 비윤리적입니다. 저자는 오용에 대해 어떠한 책임도 지지 않습니다.


개요

원본 공개 연구와 PoC는 V12 Security 팀(Aaron Esau)이 발표했습니다. SLEY는 실험실 사용과 학습을 위한 스타일화된 터미널 UI를 갖춘 독립적이고 간결한 재구현입니다.


작동 방식

root@kitploit:~
flowchart LR
    A[mmap anonymous page] --> B[io_uring: register fixed buffer]
    B --> C[Clone buffer table to 2nd ring]
    C --> D[1024× failing RDS zerocopy sends]
    D --> E[Drain FOLL_PIN bias / steal refs]
    E --> F[munmap → page freed]
    F --> G[SUID binary page reclaimed in page cache]
    G --> H[Stale io_uring ptr writes ELF stub]
    H --> I[exec SUID → root shell]
  1. 정찰 — CPU 0에 고정하고 읽을 수 있는 SUID 바이너리(su, mount, passwd, …)를 찾습니다.
  2. io_uring 설정 — 익명 페이지를 고정 버퍼로 등록합니다(FOLL_PIN 바이어스 ≈ 1024).
  3. 핀 탈취 — 실패하는 RDS zerocopy 전송을 대량으로 발생시켜, 각 실패가 첫 번째 고정 페이지의 추가 참조를 해제하게 만듭니다.
  4. 재확보 및 덮어쓰기 — 언맵으로 페이지를 해제하고, SUID 대상 바이너리를 다시 열어 페이지 캐시 재확보 경쟁을 유발하며, 오래된 고정 버퍼 메타데이터를 이용해 작은 x86_64 ELF 스텁을 캐시에 씁니다.
  5. 권한 상승 — execve를 통해 SUID 바이너리가 주입된 스텁을 root로 실행합니다.

요구 사항

커널 / 설정

  • RDS 버그가 존재하는 취약한(패치되지 않은) Linux 커널
  • CONFIG_RDS=y 및 CONFIG_RDS_TCP=y
  • CONFIG_IO_URING=y 및 kernel.io_uring_disabled = 0
  • rds / rds_tcp 모듈이 로드되어 있어야 함(또는 권한 없는 사용자가 자동 로드할 수 있어야 함)
  • 공개 체인에서 사용하는 IORING_REGISTER_CLONE_BUFFERS API에는 커널 ≥ 6.13 필요
  • 이 PoC에 포함된 셸 ELF 페이로드를 위한 x86_64 아키텍처

빌드 도구

root@kitploit:~
sudo apt install build-essential linux-libc-dev   # Debian/Ubuntu
# or equivalent headers package on your distro

권한

  • 취약한 호스트에서는 권한 없는 로컬 사용자면 충분합니다(이것이 위협 모델입니다)
  • 프로덕션 시스템에서는 실행하지 마십시오

노출 확인(읽기 전용)

root@kitploit:~
# Patched? (example — adjust for your distro)
uname -r
grep -r CVE-2026-43494 /usr/share/doc/linux* 2>/dev/null || true

# RDS available?
grep CONFIG_RDS /boot/config-$(uname -r) 2>/dev/null
lsmod | grep -E '^rds'

# io_uring enabled?
cat /proc/sys/kernel/io_uring_disabled  # expect 0

빌드

root@kitploit:~
gcc -O2 -Wall -Wextra -o sley sley.c

정적 링크(선택 사항, 최소 실험실 이미지용):

root@kitploit:~
gcc -O2 -static -o sley sley.c

사용법

root@kitploit:~
./sley

모든 상태 출력은 stderr로 전송됩니다(ANSI 256색 UI, 진행률 표시줄, 단계별 로깅). 상자 그리기 UI를 사용하려면 터미널이 UTF-8과 truecolor/256색을 지원해야 합니다.

예시 단계:

root@kitploit:~
PHASE 1 │ Reconnaissance
PHASE 2 │ Memory & io_uring setup
PHASE 3 │ Pin reference theft (RDS zerocopy)
PHASE 4 │ Page cache overwrite & privesc

예상 결과(취약한 호스트)

성공적으로 익스플로잇된 구성에서는 체인이 완료되고 첫 페이지가 덮어써진 발견된 SUID 바이너리로 제어권을 넘깁니다. 경쟁 조건과 커널 상태가 맞아떨어지면 root 셸을 얻습니다.

패치된 커널, 강화된 호스트, 또는 RDS/io_uring이 없는 경우 PoC는 조기에 실패합니다(SUID 대상 없음, mmap/io_uring/socket 오류 등).


완화 조치

배포판별 보안 권고는 백포트된 패치를 포함할 수 있습니다. 공급업체의 커널 보안 업데이트를 추적하세요.


프로젝트 구조

root@kitploit:~
.
├── README.md              # This file
├── proof-of-concept.jpg   # Screenshot: successful LPE (uid 1000 → root)
├── sley.c                 # Single-file PoC + terminal UI
└── .gitignore

참고 자료

  • NVD — CVE-2026-43494
  • oss-security — PinTheft 논의
  • 커널 수정 커밋

법적 고지

이 소프트웨어는 연구 및 교육 목적으로 있는 그대로 제공됩니다. 소유하지 않은 시스템을 테스트하기 전에 관련 법률을 준수하고 서면 승인을 받는 것은 전적으로 사용자의 책임입니다.


라이선스

MIT — 추가된 경우 저장소 라이선스 파일을 참조하세요. 책임감 있게 사용하세요.

도구 다운로드
항목세부 정보
CVECVE-2026-43494
공개 이름PinTheft
구성 요소net/rds — zerocopy 전송 경로 (rds_message_zcopy_from_user)
프리미티브페이지 핀 실패 시 put_page() 이중 호출 → FOLL_PIN 참조 탈취
무기화io_uring 고정 버퍼 + RDS 실패 zerocopy → 페이지 캐시 UAF 쓰기
영향취약한 구성에서 로컬 root 권한 획득
업스트림 수정e17492979319
조치비고
커널 패치커밋 e17492979319를 포함한 안정 버전 수정 적용
RDS 비활성화필요하지 않다면 modprobe -r rds_tcp rds 실행(및 자동 로드 차단)
io_uring 제한sysctl로 kernel.io_uring_disabled=1 또는 2 설정
최소 권한불필요한 SUID 바이너리 제거, 강화된 프로파일의 컨테이너 사용
모니터링대량의 RDS zerocopy 실패 및 io_uring 버퍼 등록 패턴에 대한 알림 설정