Linux Dirty Frag 취약점과 컨테이너 권한 상승 방어
Dirty Frag CVE-2026-43284와 CVE-2026-43500의 Linux 커널 권한 상승 체인, 컨테이너 격리 위험과 seccomp·AppArmor·SELinux 방어 전략을 정리한다.
2026-08-14 · 최초 발행 2026-05-18
로컬 침해가 호스트 장악으로 이어지는 경로
Dirty Frag는 CVE-2026-43284와 CVE-2026-43500을 연쇄 이용해 로컬 공격자가 단일 명령으로 루트 권한을 얻는 Linux 커널 취약점 체인이다. PoC 익스플로잇이 공개됐으며 Ubuntu, RHEL, CentOS, AlmaLinux, openSUSE, Fedora 등 주요 배포판이 영향권에 있다.
컨테이너와 공유 서버에서는 일반 권한으로 시작한 침해가 테넌트 격리 우회로 연결될 수 있다. 커널 패치를 우선 적용해야 하며, 패치 전에는 보상 통제로 공격 경로를 제한해야 한다.
| 항목 | 상세 |
|---|---|
| CVE 번호 | CVE-2026-43284 + CVE-2026-43500 |
| 취약점 유형 | LPE (Local Privilege Escalation) |
| 커널 컴포넌트 | algif_aead, xfrm-ESP, RxRPC Page-Cache |
| 영향 배포판 | Ubuntu·RHEL·CentOS·AlmaLinux·Fedora·openSUSE |
| PoC 공개 | 2026-05-07 (embargo 파기 후 공개) |
| 익스플로잇 난이도 | 단일 명령, 로컬 접근 필요 |
| 선행 취약점 | CopyFail (유사 메커니즘) |
약 9년 전 Linux 커널의 algif_aead 암호화 알고리즘 인터페이스에 들어간 결함이 이 체인의 출발점이다. 두 취약점은 독립적이지만 함께 사용될 때 권한 보호 파일과 권한 컨텍스트를 바꾸는 데 활용된다.
힙 배치와 페이지 캐시 Write가 만나는 지점
CVE-2026-43284는 IPsec 프레임워크에서 ESP 페이로드를 처리하는 과정에 관여한다. 이 경로는 커널 힙 메모리 단편화를 유발하는 데 쓰인다. CVE-2026-43500은 RxRPC 프로토콜 처리 중 페이지 캐시에 임의 데이터를 기록할 수 있는 race condition과 연결된다.
Linux 커널은 SLUB/SLAB 슬랩 할당자로 커널 객체를 관리한다. 특정 크기의 할당과 해제를 반복하면 힙 레이아웃을 예측 가능한 상태로 만들 수 있는데, Dirty Frag는 이 특성을 이용해 구조체를 원하는 위치에 배치하는 heap shaping을 수행한 뒤 인접 메모리를 덮어쓴다.
이 체인의 페이지 캐시 Write 원시(primitive)는 해제된 메모리 영역 접근을 유도한다. UAF 취약점의 변형으로 볼 수 있으며, 해제 뒤 재할당된 커널 객체에 공격자가 통제하는 데이터를 넣어 권한 컨텍스트를 변조한다. 두 취약점을 결합하면 권한 보호 파일을 메모리에서 수정하고 uid/gid=0 컨텍스트를 획득할 수 있다.
패치는 주요 배포판의 stable kernel 업데이트로 취약 코드 경로를 제거하는 방식으로 제공된다. CloudLinux 등 엔터프라이즈 리눅스 벤더는 커널 재부팅 없이 라이브 패치(kpatch/livepatch)를 제공한다.
컨테이너 경계에서 먼저 제한할 것
컨테이너는 호스트 커널을 공유한다. 따라서 호스트 커널의 LPE 취약점은 컨테이너 내부 프로세스가 탈출하는 데 직접 이용될 수 있다.
seccomp 프로파일에서는 xfrm 관련 시스템 콜과 RxRPC 소켓 생성을 제한해 취약점 트리거 경로를 차단할 수 있다.
# Dirty Frag 완화를 위한 seccomp 차단 시스템 콜
SECCOMP_RULE_ADD(ctx, SCMP_ACT_KILL, SCMP_SYS(xfrm_add_sa));
SECCOMP_RULE_ADD(ctx, SCMP_ACT_KILL, SCMP_SYS(xfrm_policy_add));
Ubuntu에서 AppArmor를 쓴다면 컨테이너 프로파일에 deny network rxrpc와 deny capability net_admin 규칙을 추가한다. SELinux 환경에서는 container_t 도메인의 xfrm_socket_t 접근을 거부하는 정책을 적용한다.
--privileged 플래그나 CAP_SYS_ADMIN 등 과도한 capability가 부여된 컨테이너는 LPE 익스플로잇의 주요 표적이 된다. 컨테이너는 최소 권한 원칙으로 실행하고, 필요한 capability만 명시적으로 허용해야 한다.
| 배포판 | 패치 가용 여부 | 권장 조치 |
|---|---|---|
| Ubuntu 22.04/24.04 | 패치 배포 완료 | apt update && apt upgrade linux-image-* |
| RHEL 8/9 | 패치 배포 완료 | dnf update kernel |
| CentOS Stream 9 | 패치 배포 완료 | dnf update kernel |
| AlmaLinux 8/9 | 패치 배포 완료 | dnf update kernel |
| Fedora 40/41 | 패치 배포 완료 | dnf update kernel |
| openSUSE Tumbleweed | 패치 배포 완료 | zypper update kernel-* |
초기 접근 이후 커지는 위험
Dirty Frag는 로컬 권한 상승 취약점이므로 Initial Access는 별도로 필요하다. 다만 이미 낮은 권한을 확보한 공격자에게는 다음과 같은 후속 경로를 제공한다.
- 웹 취약점으로 www-data 권한을 얻은 뒤 Dirty Frag로 루트 권한까지 상승하는 웹 서버 침해
- 일반 권한을 가진 내부 사용자가 시스템을 장악하는 내부 위협
- 컨테이너 내 취약한 서비스를 통해 침투한 뒤 호스트 루트 권한을 얻는 컨테이너 탈출
- 멀티 테넌트 Linux 서버에서 테넌트 간 격리를 무력화하는 공유 서버 침해
호스트 커널 보안은 컨테이너 워크로드 전체의 기반이다. Dirty Frag처럼 커널 결함을 연결하는 체인에서는 즉각적인 커널 패치가 우선이며, 적용 전에는 seccomp, AppArmor/SELinux, 최소 권한 컨테이너 설정으로 공격면을 줄여야 한다.
Sources
- New Linux 'Dirty Frag' zero-day gives root on all major distros - BleepingComputer
- Dirty Frag (CVE-2026-43284, CVE-2026-43500): FAQ - Tenable
- Dirty Frag: Unpatched Linux vulnerability delivers root access - Help Net Security
- Active attack: Dirty Frag Linux vulnerability expands post-compromise risk - Microsoft Security Blog
- Linux Kernel Dirty Frag LPE Exploit - The Hacker News
- Dirty Frag Linux kernel local privilege escalation vulnerability mitigations - Ubuntu
- Dirty Frag Exploit Poised to Blow Up on Enterprise Linux Distros - Dark Reading