본문 바로가기
운영체제 (LNX,WIN)

Dirty Frag & Copy Fail: Linux 커널 공격 표면 Page Cache 취약점 진화

by 날으는물고기 2026. 5. 14.

Dirty Frag & Copy Fail: Linux 커널 공격 표면 Page Cache 취약점 진화

728x90

Zero-Copy 최적화가 만든 보안 재앙

“Copy Fail & DirtyFrag: Linux Page Cache 계열 취약점” 관련 내용은 최근 Linux 커널에서 반복적으로 발견되는 매우 위험한 취약점 계열을 설명합니다. 핵심은 단순한 버그 하나가 아니라, Linux Kernel의 Page Cache / Pipe Buffer / Zero-copy 처리 구조 자체가 공격 표면(Attack Surface) 으로 활용되고 있다는 점입니다.

이번 이슈는 과거의 유명한 Linux 권한 상승 취약점들과 매우 유사한 계열입니다.

  • Dirty COW (CVE-2016-5195)
  • Dirty Pipe (CVE-2022-0847)
  • Copy Fail (CVE-2026-31431)
  • Dirty Frag (CVE-2026-43284, CVE-2026-43500)

즉, Linux Kernel 내부의 “페이지 캐시(Page Cache)” 처리 로직에서 반복적으로 비슷한 구조적 문제가 발견되고 있습니다.

핵심 개념 — 왜 위험한가?

Linux Page Cache란?

Linux는 파일 접근 성능 향상을 위해 메모리에 파일 내용을 캐싱합니다.

cat /etc/passwd

실제로는 디스크를 매번 읽는 것이 아니라

Disk -> Page Cache -> User Process

구조로 동작합니다.

300x250

문제는

일부 커널 기능이 “읽기 전용(Read-only)” 파일 페이지를 잘못 공유하거나 재사용하면서,
공격자가 해당 메모리 페이지를 수정할 수 있게 된다는 점입니다.

읽기 전용 파일
   ↓
Page Cache
   ↓
공격자가 덮어쓰기 가능

가 되어버립니다.

Dirty Pipe → Copy Fail → Dirty Frag 흐름

Dirty Pipe (2022)

Dirty Pipe는 pipe buffer 초기화 문제로 인해

읽기 전용 파일 overwrite 가능

하게 만들었습니다.

대표 공격
/etc/passwd 수정
SUID 바이너리 변경
authorized_keys 삽입

Copy Fail (2026)

Dirty Pipe 이후에도 비슷한 로직 문제가 여러 곳에서 발견되었습니다.

Copy Fail
splice()
sendfile()
zero-copy path

등의 최적화 경로에서

커널이 페이지 ownership 검증 실패

를 일으켜 Page Cache overwrite가 가능했습니다.

Dirty Frag (2026)

이번 Dirty Frag는 또 다른 후속 계열입니다.

영향 영역
  • xfrm-ESP (IPsec)
  • RxRPC subsystem
공통 특징
in-place decryption

과정에서

pipe page reference

가 살아남아 Page Cache write primitive를 제공합니다.

네트워크 패킷 처리
→ zero-copy 최적화
→ page reference 재사용
→ page cache corruption
→ root 권한 획득

흐름입니다.

왜 “Dirty” 계열이 계속 발생하는가?

여러 연구자들이 강조하는 핵심은

Linux Kernel이 성능 최적화를 위해 “복사 없는(zero-copy)” 구조를 많이 사용하면서
메모리 ownership 검증이 매우 복잡해졌다는 점입니다.

Zero-copy 구조

원래 안전한 방식

Kernel Buffer -> Copy -> User Buffer

Zero-copy 방식

Shared Page Reference

사용.

장점
  • 빠름
  • 메모리 절약
  • 네트워크 고성능
단점
  • ownership 추적 어려움
  • reference count 오류
  • stale pointer 문제
  • writable 상태 전이 오류

공격 흐름

1) 일반 사용자 계정 확보

  • SSH 계정 탈취
  • 웹쉘
  • 취약한 컨테이너
  • 내부 사용자 악성 행위

2) Local Privilege Escalation 수행

PoC 실행

./exploit

3) Page Cache overwrite

/usr/bin/su
/bin/bash
/etc/passwd

수정.

4) root shell 획득

uid=0(root)

특히 위험한 이유

매우 안정적(deterministic)

Dirty COW는 race condition 기반이라 불안정했습니다.

 

하지만 Dirty Frag는

race condition 거의 없음

이라는 점이 매우 위험합니다.

  • 재현 쉬움
  • 성공률 높음
  • crash 적음
  • 탐지 어려움

Elastic Security Labs 탐지 포인트

1) 비정상 pipe/splice/sendfile 사용

splice()
sendfile()
vmsplice()

호출 증가. Elastic Defend/eBPF 기반 탐지 가능.

2) SUID 바이너리 overwrite

/bin/su
/usr/bin/passwd
/usr/bin/sudo

변경.

3) 비정상 root escalation

패턴

user -> su -> root

짧은 시간 내 발생.

4) ELF payload 생성

gcc exploit.c -o update
./update

행위 탐지.

 

Microsoft도 실제 공격에서

./update

실행 사례를 관찰했다고 언급했습니다.

보안 점검 포인트

이 취약점은

원격 RCE가 아니라 LPE(Local Privilege Escalation)

입니다.

 

“이미 침투한 공격자가 root가 되는 단계”

에 사용됩니다.

반드시 함께 봐야 하는 것

영역 중요성
SSH 침입 탐지 매우 중요
Webshell 탐지 매우 중요
컨테이너 탈출 중요
내부 사용자 권한 남용 중요
EDR 행위 기반 탐지 핵심
커널 패치 필수

실무 대응 방안

1) 즉시 커널 업데이트

가장 중요.

2) 임시 mitigation

Dirty Frag 대응 예시

sudo sh -c "
printf 'install esp4 /bin/false
install esp6 /bin/false
install rxrpc /bin/false
' > /etc/modprobe.d/dirtyfrag.conf
"

모듈 언로드

rmmod esp4 esp6 rxrpc

3) EDR 룰 추가

탐지 추천

splice()
vmsplice()
sendfile()

비정상 호출.

4) SUID 파일 무결성 검사

rpm -Va
debsums
AIDE
Wazuh FIM
osquery hash monitoring

5) Page Cache 초기화

공격 흔적 제거 목적

echo 3 > /proc/sys/vm/drop_caches

주의: 서비스 영향 가능.

Kubernetes / Container 환경 영향

컨테이너 내부 일반 사용자가

Container escape 이후
Host root 획득

가능성이 존재합니다.

  • privileged container
  • hostPID
  • hostNetwork
  • CAP_SYS_ADMIN
  • kernel shared host

환경은 위험합니다.

의미하는 것

이번 계열이 의미하는 것은 단순 CVE 하나가 아닙니다.

Linux Kernel의 구조적 문제

최근 흐름

성능 최적화
→ zero-copy 확대
→ page sharing 증가
→ ownership 복잡성 증가
→ Dirty 계열 반복

입니다.

 

“Page Cache 자체가 공격 표면이 되었다”

는 점이 핵심입니다.

조직 차원의 권장 사항

운영관리

  • kernel live patch 도입 검토
  • immutable infra 고려
  • 최소 권한 사용자 운영

보안관리

  • LPE 탐지 룰 강화
  • EDR syscall telemetry 확보
  • SUID integrity monitoring
  • SSH 이상행위 탐지

DevOps/K8s

  • privileged container 최소화
  • host mount 제한
  • seccomp/AppArmor 강화
  • eBPF 기반 runtime monitoring

한 줄 요약

Dirty Frag / Copy Fail 계열은

Linux Kernel의 Page Cache와 Zero-copy 구조를 악용하여,
일반 사용자가 안정적으로 root 권한을 획득할 수 있는 최신 LPE 취약점 계열입니다.

그리고 가장 중요한 포인트는

앞으로도 비슷한 “Dirty 계열” 취약점이 계속 나올 가능성이 매우 높다는 점입니다.

728x90
그리드형(광고전용)

댓글