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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-31431 — CVE-2026-31431에 대한 익스플로잇으로, 페이지 캐시 조작을 통해 로컬 권한 상승으로 루트 권한을 획득할 수 있는 Linux 커널 authencesn 취약점입니다. | Kitploit
도구/GitHubGitHub/abdullaabdullazade/cve-2026-31431
Privilege EscalationExploit FrameworksVulnerability AnalysisExploitation
GitHubabdullaabdullazade/cve-2026-31431

CVE-2026-31431

CVE-2026-31431에 대한 익스플로잇으로, 페이지 캐시 조작을 통해 로컬 권한 상승으로 루트 권한을 획득할 수 있는 Linux 커널 authencesn 취약점입니다.

저장소 보기
13개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Copy Fail (CVE-2026-31431) - 종합 분석 보고서

1. 취약점 개요

  • 취약점 이름: Copy Fail
  • CVE 식별자: CVE-2026-31431
  • 발견자 / 작성자: Xint Code Research Team (Theori 연구원 Taeyang Lee의 초기 기반 연구를 바탕으로 구축됨).

"Copy Fail"은 Linux 커널의 authencesn 암호화 템플릿에서 발견된 심각한 로직 취약점입니다. 이 취약점을 통해 권한이 없는 로컬 사용자가 시스템의 모든 읽기 가능한 파일의 페이지 캐시에 결정적이고 통제된 4바이트 쓰기를 트리거할 수 있습니다. setuid 바이너리(예: /usr/bin/su)를 대상으로 공격자는 메모리 내 실행 캐시를 수정하여 Root(UID 0) 권한으로 권한 상승을 수행할 수 있습니다.

"Dirty Cow"나 "Dirty Pipe"와 같은 기존 취약점과 달리 Copy Fail은 레이스 컨디션, 재시도, 크래시 위험이 있는 타이밍 윈도우 없이 트리거되는 직선형 로직 결함입니다. 또한 디스크의 파일은 완전히 변경하지 않고 메모리 내 페이지 캐시만 수정하므로 표준 파일 무결성 모니터링 도구를 우회하여 이식성이 높고 은밀합니다.

2. 근본 원인 분석

이 취약점은 세 가지 서로 다른 커널 구성 요소의 교차점에 존재합니다:

  1. AF_ALG 및 In-Place AEAD: AF_ALG는 커널의 암호화 하위 시스템을 사용자 공간에 노출하는 소켓 유형입니다. 2017년에 AEAD 작업을 in-place로 수행하는 최적화가 추가되었으며, 이는 동일한 scatterlist가 암호화 알고리즘의 입력과 출력으로 동시에 사용됨을 의미합니다.
  2. splice() 시스템 콜: splice() 시스템 콜은 복사 없이 파일 디스크립터와 파이프 간에 데이터를 전송하며, 페이지 캐시 페이지를 참조로 전달합니다. 사용자가 파일(예: /usr/bin/su)을 AF_ALG 소켓으로 splice하면 소켓의 입력 scatterlist는 해당 파일의 커널 캐시 페이지에 대한 직접 참조를 보유합니다.
  3. authencesn 스크래치 쓰기: authencesn 알고리즘(IPsec 확장 시퀀스 번호에 사용됨)은 바이트 재배열이 필요합니다. 이를 위해 출력 버퍼에 4바이트의 시퀀스 번호를 "스크래치 공간"으로 임시로 기록합니다. 그러나 이는 합법적인 출력 경계를 초과하여 기록됩니다.

2017년 in-place 최적화로 인해 출력 scatterlist에는 splice()로 전달된 읽기 전용 페이지 캐시 페이지가 포함됩니다. authencesn이 출력 경계를 초과하여 기록할 때 대상 파일의 캐시된 커널 메모리 내 4바이트를 직접 덮어씁니다.

3. 악용 메커니즘

공격자는 다음 단계를 통해 이 취약점을 악용할 수 있습니다:

  1. 소켓 설정: 권한이 없는 AF_ALG 소켓을 열고 authencesn(hmac(sha256),cbc(aes))에 바인딩합니다.
  2. 쓰기 구성: 쓰려는 4바이트가 포함된 연결 인증 데이터(AAD) 페이로드로 조작된 sendmsg()를 전송합니다.
  3. 대상 Splice: splice()를 사용하여 대상 파일(/usr/bin/su)을 소켓으로 파이프합니다. 오프셋과 길이는 페이지 캐시에서 4바이트가 기록될 정확한 위치를 정의합니다.
  4. 복호화 트리거: recv()를 호출하면 복호화 작업이 트리거되어 범위를 벗어난 스크래치 쓰기가 대상 파일의 페이지 캐시에 직접 실행됩니다.
  5. 실행: 대상 바이너리(예: execve("/usr/bin/su"))를 실행합니다. 커널은 주입된 악성 셸코드가 포함된 변조된 페이지 캐시 버전을 실행하여 루트 액세스 권한을 부여합니다.

4. 완화 및 해결 방안

임시 해결책

커널 패치 또는 재부팅이 즉시 불가능한 경우, 관련된 모든 af_alg 모듈을 블랙리스트에 추가하고 메모리에서 언로드하여 이 취약점을 완화할 수 있습니다.

이 모듈들을 차단하려면 다음 명령을 실행하십시오:

root@kitploit:~
# 1. 현재 로드된 모듈을 메모리에서 언로드
sudo modprobe -r algif_hash algif_skcipher algif_aead algif_rng af_alg

# 2. 모듈을 블랙리스트에 추가
echo -e "blacklist af_alg\nblacklist algif_hash\nblacklist algif_skcipher\nblacklist algif_aead\nblacklist algif_rng" | sudo tee /etc/modprobe.d/stop-exploit.conf

# 3. af_alg 모듈이 완전히 로드되지 않도록 방지
echo "install af_alg /bin/true" | sudo tee -a /etc/modprobe.d/stop-exploit.conf

# 4. 변경 사항이 완전히 적용되도록 시스템 재부팅
sudo reboot

영구 수정

Linux 커널 보안 팀은 이 취약점을 패치했습니다(커밋: a664bf3d603d). 이 패치는 AF_ALG AEAD 작업을 out-of-place 모델로 되돌려 소스와 대상 scatterlist를 분리합니다. 이를 통해 페이지 캐시 페이지가 쓰기 가능한 대상 scatterlist에 노출되는 것을 방지합니다.

필요 조치: 배포판 공급업체(Ubuntu, Amazon Linux, RHEL, SUSE 등)가 제공하는 최신 버전으로 커널을 업데이트하고 시스템을 재부팅하십시오.

도구 다운로드