Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
cve-2026-31431 — CVE-2026-31431을 분석하여, Linux 커널 AF_ALG AEAD 취약점에 대한 안전한 탐지기, 실험실 내 LPE 익스플로잇, 그리고 검증을 위한 QEMU 기반 A/B 커널 실습 환경을 제공합니다. | Kitploit
도구/GitHubGitHub/franklinf25/cve-2026-31431
Exploit FrameworksVulnerability AnalysisExploitationLearning & EducationBinary ExploitationLabs & Practice
GitHubfranklinf25/cve-2026-31431

cve-2026-31431

CVE-2026-31431을 분석하여, Linux 커널 AF_ALG AEAD 취약점에 대한 안전한 탐지기, 실험실 내 LPE 익스플로잇, 그리고 검증을 위한 QEMU 기반 A/B 커널 실습 환경을 제공합니다.

저장소 보기
920일 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-31431 — Linux 커널 algif_aead "Copy Fail": 분석

CVE-2026-31431(CVSS 3.1 7.8 HIGH, AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)에 대한 보안 연구: AF_ALG AEAD 인터페이스 체인의 세 가지 조합 가능한 설계 결함이 **결정적이고 경쟁 조건이 없는 4바이트 페이지 캐시 쓰기(읽기 가능한 모든 파일의 임의 오프셋)**로 이어집니다 — 디스크 복사본은 깨끗하게 유지되므로 온디스크 체크섬은 아무것도 감지하지 못합니다. 공개 익스플로잇("Copy Fail", Theori/Xint)은 732바이트의 Python으로 이를 로컬 루트(LPE)로 전환합니다. 이 버그는 2017년부터 2026년까지 모든 커널에 존재했습니다.

  1. 72548b093ee3(2017)은 _aead_recvmsg가 제자리에서(in-place) 복호화하도록 만들어 요청의 태그 페이지를 쓰기 가능한 대상 SGL에 연결했습니다.
  2. splice(file → pipe → socket)은 해당 태그 슬롯에 읽기 가능한 모든 파일의 페이지 캐시 페이지를 공급합니다(제로 카피).
  3. authencesn은 4바이트 ESN 스크래치 — 그 값은 sendmsg 페이로드의 AAD[4..8)에 실려 옵니다 — 를 정확히 dst[assoclen + cryptlen], 즉 첫 번째 태그 바이트(선택한 파일 오프셋)에 씁니다. 이는 태그 검증 발생하므로 요청조차도 쓰기를 수행합니다.
이전에
-EBADMSG

검증 매트릭스

주장증거
근본 원인은 블로그가 아닌 수정 커밋과 커널 소스에서 도출됨finding-sheet
공개 PoC 디코딩이 syscall 시퀀스에 대해 종단 간 검증됨finding-sheet
델타가 정확히 수정 커밋인 랩 A/B 커널, 둘 다 부팅됨lab/scripts/build.sh + lab/out/ab-diffstat.txt
취약 커널이 AF_ALG를 통해 authencesn AEAD 복호화를 실행함(스모크)lab/scripts/run.sh vuln → SMOKE=ok
동반 커밋 없는 되돌리기가 crypto_authenc_esn_decrypt에서 패닉 발생(원래 발견)lab/scripts/run.sh patched → NULL 역참조, 재현 가능
안전한 탐지기: 취약 커널에서 VULNERABLE(EBADMSG에도 쓰기 발생, 디스크 CLEAN 유지), 전체 수정에서 NOT-DETECTED랩의 poc/detector.c → DETECTOR-RESULT 라인
랩 내 LPE 완결: uid 1000이 SUID 바이너리의 페이지 캐시 4바이트를 패치하고 root 전용 플래그를 읽음; 블록 레벨 debugfs 읽기를 통해 디스크 복사본이 원본임이 입증됨poc/lpe.c + lab/rootfs/tools/secretgate.c → LPE-RESULT: ROOT-FLAG-CAPTURED, DISKCLEAN=ok
고정된 랩에서 공개 페이지 캐시 쓰기를 출처 표기와 함께 재현위 탐지기 출력 + lab README
SGL 스트레스: 두 커널에서 5가지 형태 — 충돌 없음, 커널 중단 없음(정직한 부정 결과) + 문서화된 AF_ALG 계약 특이점 2건랩의 poc/sgl-stress.c → SGL-STRESS 라인

빠른 시작

root@kitploit:~
# Docker에서 세 커널 + 도구 + 프로브 디스크 빌드(첫 실행 약 15분)
lab/scripts/build.sh

# A/B/C 오라클 부팅(Docker의 QEMU, 가능하면 KVM)
lab/scripts/run.sh vuln         # DETECTOR VULNERABLE + LPE ROOT-FLAG-CAPTURED + DISKCLEAN=ok
lab/scripts/run.sh patchedfull  # DETECTOR NOT-DETECTED + LPE NOT-VULNERABLE
lab/scripts/run.sh patched      # authencesn NULL 역참조(동반 커밋 수정 격차)

기존 연구 대비 이 저장소의 독창성

완성된 페이지 캐시 쓰기 체인은 Theori / Xint Code("Copy Fail", 공식 신고자)의 게시된 접근 방식을 출처 표기와 함께 따릅니다 — finding-sheet의 선행 연구 섹션을 참조하세요. 이 저장소의 독창적 작업: 수정 커밋에 고정된 메커니즘 맵, 불완전한 수정 시리즈 발견(동반 커밋 없는 되돌리기의 authencesn 패닉 및 그 안정 릴리스 기간), 우리가 소유하지 않은 파일을 절대 건드리지 않는 안전한 페이지 캐시 대 디스크 차등 탐지기, 특수 제작된 SUID 대상(secretgate — 실제 세계의 바이너리는 절대 대상이 되지 않음)에 대한 랩 내 LPE 완결, SGL 엣지 탐구(정직한 부정 결과 + 문서화된 AF_ALG 계약 특이점 2건), 그리고 8개 수정 커밋 모두의 검증된 브랜치 출처 추적.

문서

문서설명
docs/finding-sheet.md한 페이지 데이터시트: 버전, CVSS, 근본 원인, 수정 커밋, 공격 표면
docs/report-ptes.mdPTES 구조 보고서(7단계) + 랩 증거
docs/research-writeup.md조사 내러티브 — 방법론, 막다른 길, 이식 가능한 교훈, 선행 연구 비교

저장소 구조

root@kitploit:~
docs/            finding sheet · PTES 보고서 · 연구 기록
poc/             detector.c(안전한 오라클) · lpe.c(랩 내 LPE) · sgl-stress.c(SGL 탐구)
lab/             QEMU 커널 랩: 5.15.203 ± 수정(A/B) + 동반 커밋 이후 5.15.y(C)
lab/rootfs/      secretgate.c — 특수 제작된 SUID 대상(공격 대상이 되는 유일한 것)

참고 자료

  • CVE 레코드(MITRE) · NVD
  • Theori/Xint — Copy Fail 분석 · 공개 PoC
  • 도입 커밋: 72548b093ee3 "crypto: algif_aead - copy AAD from src to dst" (2017)
  • 메인라인 수정: a664bf3d603d "crypto: algif_aead - Revert to operating out-of-place" (+ 안정 브랜치 백포트 8건 — finding-sheet 참조)

교육용 연구 산출물입니다. 소유한 시스템이나 명시적으로 테스트 권한이 부여된 시스템에서만 실행하세요. 이 취약점은 패치되었습니다 — 2026 안정 브랜치 이상의 최신 커널을 실행하세요.

도구 다운로드