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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/metalx1993/dirtyfrag-patches
Privilege EscalationVulnerability AnalysisExploitation
GitHubmetalx1993/dirtyfrag-patches

dirtyfrag-patches

커널 Dirty Frag 취약점 패치 (CVE-2026-43284, CVE-2026-43500)

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Dirty Frag — 커널 패치

Hyunwoo Kim (@v4bel)이 발견한 Dirty Frag 취약점 클래스에 대한 패치 시리즈입니다.

Dirty Frag는 권한이 없는 로컬 사용자가 읽기 전용 파일(예: /usr/bin/su, /etc/passwd)의 페이지 캐시의 임의 바이트를 덮어쓸 수 있게 하여, 모든 주요 Linux 배포판에서 루트로의 로컬 권한 상승을 초래합니다.


⚠️ 저작자 표기

이 저장소의 패치는 이 저장소의 관리자가 작성한 것이 아닙니다.

  • CVE-2026-43284 (ESP 패치): Hyunwoo Kim (@v4bel)과 Kuan-Ting Chen이 작성했습니다. 커밋 f4c50a4034e6에서 Linux 커널 메인라인에 병합되었습니다.
  • CVE-2026-43500 (RxRPC 패치): Hyunwoo Kim (@v4bel)이 작성했습니다. afKV2zGR6rrelPC7@v4bel에서 netdev 메일링 리스트에 제출되었으며, 병합 대기 중입니다.

이 저장소는 해당 패치들의 형식화된 미러로, git am 형식으로 편의를 위해 수집되었습니다. 모든 크레딧은 원저작자에게 있습니다. 원본 연구 및 PoC: https://github.com/V4bel/dirtyfrag


패치


영향을 받는 커널 버전

  • CVE-2026-43284 (ESP): 4.10(커밋 cac2661c53f3, 2017-01-17)부터 f4c50a4034e6 이전의 6.x까지의 커널
  • CVE-2026-43500 (RxRPC): 6.4(커밋 2dc334f1a63a, 2023-06-08)부터 업스트림까지 (아직 병합된 패치 없음)

적용 방법

커널 소스 트리에 적용

root@kitploit:~
git clone https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
cd linux

# 패치 1 적용 (ESP — CVE-2026-43284)
git am 0001-net-xfrm-fix-page-cache-write-via-esp-splice-CVE-2026-43284.patch

# 패치 2 적용 (RxRPC — CVE-2026-43500)
git am 0002-net-rxrpc-fix-page-cache-write-via-rxkad-splice-CVE-2026-43500.patch

patch로 적용 (컨텍스트 불일치로 git am이 실패하는 경우)

root@kitploit:~
patch -p1 < 0001-net-xfrm-fix-page-cache-write-via-esp-splice-CVE-2026-43284.patch
patch -p1 < 0002-net-rxrpc-fix-page-cache-write-via-rxkad-splice-CVE-2026-43500.patch

즉각적인 완화 조치 (커널 재컴파일 불필요)

패치를 즉시 적용할 수 없는 경우, 취약한 모듈을 블랙리스트에 등록하세요:

root@kitploit:~
sudo sh -c "printf 'install esp4 /bin/false\ninstall esp6 /bin/false\ninstall rxrpc /bin/false\n' \
    > /etc/modprobe.d/dirtyfrag.conf && \
    rmmod esp4 esp6 rxrpc 2>/dev/null; \
    echo 3 > /proc/sys/vm/drop_caches"

경고: esp4/esp6를 제거하면 IPsec ESP가 비활성화됩니다. 프로덕션 시스템에 적용하기 전에 영향을 평가하세요.


기술 요약

근본 원인

두 변종 모두 동일한 근본 원인을 공유합니다: 커널의 제로카피 splice() 경로가 copy-on-write 의미론 없이 읽기 전용 페이지-캐시 페이지를 직접 skb frag에 심습니다. 이후의 제자리(in-place) 암호화 작업이 해당 페이지-캐시 페이지에 쓰기를 수행하여 캐시된 파일 내용을 영구적으로 수정합니다.

root@kitploit:~
splice(file_fd → pipe → socket)
         │
         ▼
  skb->frags[0].page = &page_cache_page_P   <- CoW 없음!
         │
         ▼
  [esp_input / rxkad_verify_packet_1]
  제자리 AEAD/fcrypt 복호화  src == dst == &P
         │
         ▼
  page_cache_page_P에 STORE     <- 읽기 전용 파일 캐시에 대한 임의 쓰기

수정 전략

변종

참고 자료

  • 원본 PoC 및 분석: https://github.com/V4bel/dirtyfrag
  • CVE-2026-43284: https://www.cve.org/CVERecord?id=CVE-2026-43284
  • CVE-2026-43500: https://www.cve.org/CVERecord?id=CVE-2026-43500
  • 메인라인 커밋 (ESP 수정): https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f4c50a4034e62ab75f1d5cdd191dd5f9c77fdff4
  • RxRPC 패치 (netdev ML): https://lore.kernel.org/all/afKV2zGR6rrelPC7@v4bel/
  • Copy Fail (조상 취약점): https://copy.fail/
  • Dirty Pipe (동일 버그 클래스): https://dirtypipe.cm4all.com/
도구 다운로드
파일CVE서브시스템상태
0001-net-xfrm-fix-page-cache-write-via-esp-splice-CVE-2026-43284.patchCVE-2026-43284net/ipv4/esp4.c, net/ipv6/esp6.c, net/ipv4/ip_output.c, net/ipv6/ip6_output.c✅ 메인라인에 병합됨 (f4c50a4034e6)
0002-net-rxrpc-fix-page-cache-write-via-rxkad-splice-CVE-2026-43500.patchCVE-2026-43500net/rxrpc/call_event.c, net/rxrpc/conn_event.c⏳ netdev ML에 제출됨 (afKV2zGR6rrelPC7@v4bel), 병합 대기 중
접근 방식
ESPsplice frag를 SKBFL_SHARED_FRAG로 표시; esp_input()/esp6_input()에서 이 플래그를 확인하여 제자리 암호화 전에 skb_cow_data()를 강제
RxRPCskb_cloned() 게이트를 (skb_cloned(skb) || skb->data_len)으로 확장하여 비선형 skb(스플라이스 frag를 포함할 수 있음)가 제자리 복호화 전에 항상 복사되도록 함