
CVE-2026-31431에 대한 익스플로잇으로, AF_ALG 및 splice()를 통해 로컬 권한 상승으로 root 권한을 획득하고 컨테이너 탈출을 가능하게 하는 Linux 커널 authencesn 취약점입니다.
Linux 커널 암호화 모듈 authencesn은 2017년에 AEAD(인증 암호화) 작업에 대한 인플레이스(in-place) 최적화를 도입했는데, 이 최적화로 인해 특정 조건에서 페이지 캐시(page cache)의 읽기 전용 페이지가 실수로 쓰기 가능한 대상 산포 목록(scatterlist)에 포함될 수 있습니다. 공격자는 AF_ALG 소켓으로 노출된 커널 암호화 API와 splice() 시스템 호출을 결합하여 이러한 논리적 결함을 이용해 setuid 바이너리(예: /usr/bin/su)의 페이지 캐시에 4바이트 임의 쓰기를 수행하여 프로그램 로직을 변조하고 root 셸을 획득할 수 있습니다.
전체 악용 과정은 직선 로직이며, 경쟁 윈도우(race window)가 필요 없고, 커널 특정 오프셋이 필요 없으며, 사전에 특수 도구를 설치할 필요도 없습니다.
로컬 권한 상승至 root: 임의의 로컬 일반 사용자 계정이 조건 없이 root로 권한을 상승시킬 수 있습니다.
컨테이너 탈출: Kubernetes / 컨테이너 환경에서 페이지 캐시는 호스트와 공유되므로, 컨테이너 내부 공격자가 컨테이너 경계를 돌파하여 호스트 노드 및 동일 노드의 다른 테넌트를 위협할 수 있습니다.
CI/CD 환경 장악: GitHub Actions, GitLab Runner, Jenkins Agent 등 신뢰할 수 없는 코드를 실행하는 CI 환경에서 공격자는 악성 PR을 통해 Runner 호스트의 root 권한을 직접 획득할 수 있습니다.
클라우드 멀티 테넌트 환경: Notebook, Serverless, Agent 샌드박스 등 사용자 코드를 실행하는 클라우드 서비스에서 테넌트가 호스트 root로 권한을 상승시킬 수 있습니다.
취약점이 거의 10년간 지속: 문제 코드는 2017년에 도입되었으며, 이후 모든 Linux 배포판이 영향을 받습니다.
2017년부터 패치 릴리스 전까지 빌드된 모든 Linux 커널 버전, 포함:
| 배포판 | 영향받는 커널 버전 |
| Ubuntu 24.04 LTS | 6.17.0-1007-aws 및 이하 |
| Amazon Linux 2023 | 6.18.8-9.213.amzn2023 및 이하 |
| RHEL 14.3 | 6.12.0-124.45.1.el10_1 및 이하 |
| SUSE 16 | 6.12.0-160000.9-default 및 이하 |
| Debian / Arch / Fedora / Rocky / Alma / Oracle | 동일 시기 커널 버전 모두 영향 |
mainline commit a664bf3d603d를 포함하는 커널 버전으로 업그레이드하세요. 각 주요 배포판에서 수정 버전을 순차적으로 릴리스하고 있습니다:
# Ubuntu / Debian
apt update && apt upgrade linux-image-$(uname -r)
# RHEL / CentOS / Rocky / Alma
dnf update kernel
# Amazon Linux
yum update kernel
# SUSE
zypper update kernel-default
업그레이드 후 시스템을 재부팅하여 새 커널을 적용하고, 다음 명령으로 수정 commit이 포함되었는지 확인하세요:
grep -r "a664bf3d603d" /proc/version 2>/dev/null || uname -r
# 수정 commit 포함 여부 확인 또는 배포판 공식 공지의 수정 버전 번호와 비교
algif_aead 커널 모듈을 비활성화하면 취약점 악용 경로를 차단할 수 있습니다:
# 영구 비활성화(재부팅 후 적용)
echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif.conf
# 즉시 언로드(현재 세션에 적용)
rmmod algif_aead 2>/dev/null || true
algif_aead 비활성화의 영향 평가:
영향 없음: dm-crypt/LUKS, kTLS, IPsec/XFRM, OpenSSL/GnuTLS/NSS 기본 빌드, SSH, 커널 키링 암호화 — 이러한 구성 요소는 커널 암호화 API를 직접 사용하며 AF_ALG를 거치지 않습니다.
영향 가능: afalg 엔진을 명시적으로 활성화한 OpenSSL, 일부 임베디드 암호화 오프로드 경로, aead/skcipher/hash 소켓에 직접 바인딩하는 애플리케이션. lsof | grep AF_ALG 또는 ss -xa로 현재 시스템에서 AF_ALG를 사용하는 프로세스가 있는지 확인할 수 있습니다.