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

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
cve-2026-31431 — 리눅스 커널 로컬 권한 상승 익스플로잇으로, CVE-2026-31431에 대한 신뢰할 수 있는 단발성 PoC를 제공하며, 여러 언어 구현, 취약점 스캐너, 그리고 완화 스크립트를 포함합니다. | Kitploit
도구/GitHubGitHub/nisec-eric/cve-2026-31431
Privilege EscalationContainer SecurityExploit FrameworksVulnerability AnalysisExploitationPenetration TestingCloud SecurityLearning & EducationRed TeamingBinary Exploitation
GitHubnisec-eric/cve-2026-31431
2295개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

cve-2026-31431

리눅스 커널 로컬 권한 상승 익스플로잇으로, CVE-2026-31431에 대한 신뢰할 수 있는 단발성 PoC를 제공하며, 여러 언어 구현, 취약점 스캐너, 그리고 완화 스크립트를 포함합니다.

저장소 보기

CVE-2026-31431 — "Copy Fail" 연구 저장소

Severity: High CVSS: 7.8 CVE Release License: MIT

2017년 이후 모든 주류 배포판에 영향을 미치는 100% 신뢰할 수 있는 Linux 로컬 권한 상승 취약점.

authencesn의 단일 로직 버그가 AF_ALG와 splice()를 통해 4바이트 페이지 캐시 쓰기로 이어짐 — 거의 10년 동안 조용히 악용 가능.

⚠️ 면책 조항

이 저장소의 모든 코드와 문서는 승인된 보안 연구 및 교육 목적으로만 제공됩니다.

소유하지 않았거나 명시적인 서면 승인을 받지 않은 시스템에서 익스플로잇 코드를 실행하는 것은 불법입니다. 이 저장소를 사용함으로써 귀하는 모든 행동에 대한 전적인 책임을 수락합니다.


개요

필드세부 사항
CVECVE-2026-31431
별칭Copy Fail
유형Linux 커널 로컬 권한 상승(LPE) / 페이지 캐시 임의 쓰기
CVSS v3.17.8 HIGH — AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CWECWE-669 (영역 간 잘못된 리소스 전송)
구성 요소crypto/algif_aead — authencesn 암호화 템플릿
도입 시점2017 (커밋 72548b093ee3)
수정 시점메인라인 커밋 a664bf3d603d (2026-04-01)
패치된 커널v6.18.22+, v6.19.12+, v7.0+
발견자Xint / Theori (Taeyang Lee + Xint Code AI 지원 감사)
공개2026-04-29 — copy.fail

Copy Fail이 다른 이유

일반적인 Linux LPECopy Fail
경쟁 조건필요없음
배포판별 오프셋필요없음
신뢰성30–80%100%, 단일 시도
영향 범위좁음2017 → 2026 (9년)
디스크 수정가능없음 (은밀함)
컨테이너 간 전파불가가능

저장소 구조

.
├── README.md                          ← 현재 위치
├── LICENSE                            ← MIT
├── .gitignore
├── docs/
│   ├── analysis-report.md             ← 종합 보안 분석
│   ├── analysis-report.html           ← 스타일 적용 HTML 버전
│   ├── exploit-walkthrough.md         ← 줄 단위 PoC 분석
│   └── exploit-walkthrough.html       ← 스타일 적용 HTML 버전
└── poc/
    ├── README.md                      ← PoC 사용 가이드
    ├── copy_fail_exp.py               ← 공식 PoC (732바이트, 난독화됨)
    ├── copy_fail_exp_readable.py      ← 난독화 해제 + 주석 버전
    ├── copy_fail_exp_compat.py        ← Python 3.6+ 호환 (ctypes splice)
    ├── copy_fail_exp_alpine.py        ← Alpine Linux 변형
    ├── copy_fail_exp.c                ← C 구현 (의존성 없음)
    ├── copy_fail_exp.go               ← Go 구현 (의존성 없음)
    ├── copy_fail_rust/                ← Rust 구현
    │   ├── Cargo.toml
    │   └── src/main.rs
    ├── check_vulnerable.py            ← 취약점 스캐너
    └── mitigate.sh                    ← 원클릭 완화 스크립트

빠른 시작

사전 빌드된 릴리스 다운로드

# GitHub Releases에서 — 사전 빌드된 바이너리 (Linux amd64/arm64) + 모든 Python 스크립트
wget https://github.com/nisec-eric/cve-2026-31431/releases/latest/download/copy-fail-go-linux.tar.gz
wget https://github.com/nisec-eric/cve-2026-31431/releases/latest/download/copy-fail-c-linux.tar.gz
wget https://github.com/nisec-eric/cve-2026-31431/releases/latest/download/copy-fail-python.tar.gz

tar xzf copy-fail-go-linux.tar.gz
tar xzf copy-fail-c-linux.tar.gz
tar xzf copy-fail-python.tar.gz

# Go 정적 바이너리 (Python 불필요)
chmod +x copy-fail-exp-amd64
./copy-fail-exp-amd64

# C 정적 바이너리
chmod +x copy-fail-exp-c-amd64
./copy-fail-exp-c-amd64

# 또는 Python 스크립트 직접 사용
python3 check_vulnerable.py

📦 릴리스는 v* 태그 푸시 시 GitHub Actions를 통해 자동 빌드됩니다. Go 및 C 바이너리는 linux/amd64 및 linux/arm64용 정적 바이너리로 빌드됩니다.

1. 시스템이 취약한지 확인

python3 poc/check_vulnerable.py

2. 완화 조치 적용 (재부팅 불필요)

sudo bash poc/mitigate.sh

이 스크립트는 algif_aead 커널 모듈을 블랙리스트에 추가합니다 — 99%의 시스템에서 아무것도 깨지지 않습니다.

3. 제대로 패치 — 커널 업그레이드

# Debian/Ubuntu
sudo apt update && sudo apt upgrade linux-image-*

# RHEL/CentOS/Fedora
sudo dnf update kernel

# 패치된 커널로 재부팅
sudo reboot

4. 확인

python3 poc/check_vulnerable.py
# 종료 코드 1 = 보호됨 ✓

PoC 익스플로잇

경고: 소유했거나 테스트 승인을 받은 시스템에서만 실행하세요.

파일언어요구 사항참고
copy_fail_exp.pyPython 3.10+표준 라이브러리만공식 732바이트 PoC
copy_fail_exp_compat.pyPython 3.6+표준 라이브러리 + ctypesCentOS 7, AL2 등에서 동작
copy_fail_exp_alpine.pyPython 3.10+표준 라이브러리만Alpine의 /bin/ping 대상
copy_fail_exp.cCgcc + Linux 헤더정적 바이너리, 의존성 없음
copy_fail_exp.goGo 1.21+표준 라이브러리만정적 바이너리, 의존성 없음
copy_fail_rust/Rust 1.70+libc + flate2 크레이트정적 바이너리
# C
gcc -static -o exp ./poc/copy_fail_exp.c && ./exp

# Python
python3 poc/copy_fail_exp.py
python3 poc/copy_fail_exp_compat.py        # Python < 3.10

# Go
go build -o exp ./poc/copy_fail_exp.go && ./exp

# Rust
cd poc/copy_fail_rust && cargo run --release

모든 버전은 선택적 인수를 받아 다른 SUID 바이너리를 대상으로 지정할 수 있습니다:

python3 poc/copy_fail_exp.py /usr/bin/passwd
./exp /usr/bin/sudo

문서

📄 보안 분석 보고서 (HTML)

다음을 포함한 전체 취약점 평가:

  • 기술적 근본 원인 (scatterlist 페이지 출처, authencesn 스크래치 쓰기)
  • 영향받는 버전 및 배포판 패치 상태
  • 베어메탈 Linux, Kubernetes, Docker, WSL2에 대한 수정 방법
  • 탐지 및 모니터링 지침 (auditd, SELinux, 파일 무결성)
  • 공개 타임라인

📄 익스플로잇 워크스루 (HTML)

줄 단위 PoC 분석:

  • 주석이 포함된 완전한 난독화 해제 소스
  • 커널 내부: AF_ALG 소켓 흐름, splice() 페이지 캐시 전달, sg_chain() 메커니즘
  • scatterlist 경계를 넘는 authencesn ESN 스크래치 쓰기
  • 페이로드 분석 (160바이트 ELF 셸코드)
  • 공격 변형: /etc/passwd 주입, 공유 라이브러리 대상 지정, 컨테이너 탈출
  • 공격 한계 및 경계

환경별 영향

환경위험이유
멀티 테넌트 Linux 호스트🔴 높음모든 사용자 → root
Kubernetes / 컨테이너🔴 높음공유 페이지 캐시 → 컨테이너 탈출
CI 러너 (자체 호스팅)🔴 높음악성 PR → 러너 root
클라우드 SaaS (사용자 코드)🔴 높음테넌트 → 호스트 root
표준 서버🟡 중간웹 RCE / 도난 자격 증명과 연계
단일 사용자 노트북🟢 낮음이미 유일한 사용자

주요 참고 자료

  • copy.fail — 공식 취약점 페이지
  • Xint 블로그 — 기술 분석 — 근본 원인 심층 분석
  • NVD 항목
  • GitHub Advisory GHSA-2274-3hgr-wxv6
  • 커널 패치 (커밋 a664bf3d603d)
  • 공식 PoC 저장소
  • Red Hat Advisory | Ubuntu | SUSE | Amazon Linux

기여

기여를 환영합니다:

  • 추가 PoC 구현 (Zig 등)
  • 배포판별 테스트 결과
  • 탐지 규칙 (Snort, Suricata, YARA, Sigma)
  • 문서 번역

이슈를 열거나 풀 리퀘스트를 제출해 주세요.

라이선스

MIT — 책임감 있게 사용하세요.

도구 다운로드