DirtyDecrypt — Linux 커널 rxgk 모듈의 COW 가드 누락, DoS로 등록된 CVE 안에 숨어 있던 root LPE

CVE-2026-31635는 NVD에 CVSS 7.5의 DoS로 올라 있지만, Zellic·V12 보안팀의 PoC가 같은 함수의 같은 결함으로 결정론적 root LPE를 끌어냈다. rxgk_decrypt_skb()에서 빠진 COW 가드 한 줄 덕분에 페이지 캐시 공유 페이지가 그대로 쓰기 대상이 된다. Dirty COW·Dirty Pipe·Copy Fail 계보의 네 번째 결함이고, Fedora·Arch·openSUSE Tumbleweed 운영자는 지금 6.19.13/6.18.23으로 올린다.

2026년 5월 21일

Copy Fail (CVE-2026-31431) — 732바이트 파이썬 한 장으로 root를 따는 커널 버그

2017년에 들어간 algif_aead 인-플레이스 최적화 한 줄이 splice·AF_ALG와 만나 페이지 캐시에 임의의 4바이트를 쓰는 결정론적 LPE가 된다. Dirty COW·Dirty Pipe와 달리 race가 없고 첫 시도에 그대로 성공한다. 어제 공개된 Copy Fail의 구조와 운영자가 지금 해야 할 일.

2026년 4월 30일

systemd 유닛이라는 언어 — 11종을 한 바퀴

systemd 가 init 자리에 앉으며 fstab, cron, inetd, inotify, 런레벨, autofs 같은 옛 도구들을 어떻게 ‘유닛’이라는 단일 언어로 흡수했는지, 11종을 한 글에 모아본다.

2026년 4월 29일

SysVinit → Upstart → systemd: 리눅스 init 세대 연표

SysVinit이 30년 가까이 표준이었던 이유, Upstart가 9년 만에 사라진 이유, systemd가 5년 안에 거의 모든 배포판을 흡수한 이유. 배포판별 전환 시점을 연표로 정리한다.

2026년 4월 28일

SIGINT, SIGTERM, SIGHUP, SIGKILL — 쿠버네티스 시대의 유닉스 시그널

Ctrl+C는 왜 가끔 안 먹히는가. Docker stop은 왜 10초를 기다리다 죽이는가. kill -9는 왜 마지막 수단이어야 하는가. 오래된 주제지만 컨테이너·오케스트레이션 시대에 더 중요해진 네 시그널을 다시 정리한다.

2026년 4월 22일