732바이트에 불과한 Python 스크립트 하나로 2017년 이후 출시된 거의 모든 주요 리눅스 배포판에서 루트 권한을 획득할 수 있으며, 이로 인해 수백만 대의 서버와 클라우드 워크로드가 악용하기 쉬운 권한 상승 결함에 노출되었습니다.
뒤로
732바이트에 불과한 Python 스크립트 하나로 2017년 이후 출시된 거의 모든 주요 리눅스 배포판에서 루트 권한을 획득할 수 있으며, 이로 인해 수백만 대의 서버와 클라우드 워크로드가 악용하기 쉬운 권한 상승 결함에 노출되었습니다.

리눅스 커널에서 'Copy Fail'로 불리는 고위험 취약점이 발견되어, 로컬 사용자가 732바이트 크기의 Python 스크립트만으로 전체 루트 권한을 얻을 수 있게 되었습니다. 이 결함은 Red Hat, Ubuntu, SUSE 등 2017년 이후 출시된 거의 모든 주요 배포판에 영향을 미칩니다. CVE-2026-31431로 추적되는 이 취약점은 CVSS 점수 7.8점을 기록했으며, 수백만 개의 쿠버네티스(Kubernetes) 클러스터와 공유 호스팅 환경을 포함한 방대한 클라우드 인프라에 영향을 미칩니다.
사이버 보안업체 힌트 코드(Xint Code)는 X(구 트위터)를 통해 "이것은 매우 쉽게 악용 가능한 로직 오류"라며, 수정 없이도 모든 테스트 플랫폼에서 동일한 소형 파이썬 스크립트가 작동한다고 밝혔습니다. 미국 사이버보안 및 인프라 보안국(CISA)은 5월 1일 이 취약점을 '알려진 악용된 취약점' 카탈로그에 추가하며, 연방 기업에 "중대한 위험"을 초래한다고 경고했습니다.
이 취약점은 2017년 커널 최적화 과정에서 도입된 로직 오류에서 비롯되었습니다. 공격자는 표준 시스템 호출을 연결하여 커널의 페이지 캐시(빠른 액세스를 위해 시스템이 파일의 임시 복사본을 보관하는 RAM 영역)에 제어된 4바이트 쓰기를 수행할 수 있습니다. 이를 통해 /usr/bin/su와 같은 권한 있는 프로그램의 인메모리 버전이 디스크의 파일을 변경하지 않고도 손상될 수 있으며, 이는 대부분의 파일 무결성 모니터링 도구에 탐지되지 않습니다.
이 익스플로잇의 신뢰성과 단순성은 다중 테넌트 환경에 중대한 위협이 됩니다. 마이크로소프트 디펜더(Microsoft Defender) 연구원들은 공격자가 하나의 컨테이너에서 발판을 마련하면 전체 호스트 노드를 장악할 수 있어, 컨테이너 탈출 및 측면 이동을 용이하게 할 잠재력이 있다고 언급했습니다. 공격을 위해서는 초기 로컬 액세스 벡터가 필요하지만, 일단 확보되면 루트로의 권한 상승은 확정적입니다.
### 9년 된 커널 버그가 컨테이너 탈출을 가능하게 하는 방법
CVE-2026-31431의 핵심은 커널의 암호화 하위 시스템, 특히 algif_aead 모듈에 있습니다. 2017년 인플레이스(in-place) 암호화 작업의 메모리 재사용을 통해 성능을 향상시키려던 변경 사항이 특정 오류 처리 경로를 고려하지 못했습니다. 3월 23일 리눅스 커널 팀에 이 버그를 비공개로 제보한 테오리(Theori) 연구원들은 이 허점이 읽기 가능한 모든 파일의 페이지 캐시에 4바이트의 임의 데이터를 쓰는 데 악용될 수 있음을 발견했습니다.
단일 호스트의 컨테이너들은 동일한 커널을 공유하므로 페이지 캐시도 공유합니다. 따라서 한 컨테이너의 비특권 프로세스가 Copy Fail 익스플로잇을 사용하여 호스트나 다른 컨테이너에서 사용하는 민감한 바이너리의 인메모리 표현을 수정할 수 있습니다. 해당 바이너리가 다음에 실행될 때 공격자가 수정한 내용으로 실행되어 루트 권한을 부여하고 모든 컨테이너 격리 경계를 무너뜨립니다. 이는 취약한 웹 애플리케이션 등을 통한 초기 컨테이너 침입이 전체 시스템 침입으로 이어질 수 있음을 의미합니다.
### 패치 배포에 따른 완화 조치 가능
리눅스 커널 보안 팀은 4월 1일 결함이 있는 2017년 최적화 사항을 되돌리는 패치를 메인라인 브랜치에 반영했습니다. 완전히 패치된 커널이 배포되고 있지만, 많은 배포판이 구형 장기 지원(LTS) 커널을 사용하고 있어 수정 사항을 백포트하는 데 시간이 걸립니다. 이에 따라 주요 배포사들은 즉각적인 완화 조치를 발표했습니다.
Ubuntu 및 그 파생 버전의 경우, kmod 패키지 업데이트를 통해 취약한 algif_aead 모듈이 로드되지 않도록 차단합니다. 관리자는 sudo apt update && sudo apt upgrade를 실행하고 재부팅하여 이 수정 사항을 적용할 수 있습니다. 즉각적인 업데이트가 불가능한 시스템에서는 /etc/modprobe.d/ 폴더 내 파일에 install algif_aead /bin/false 라인을 추가하여 모듈을 수동으로 비활성화할 수 있습니다. Red Hat은 이 조치가 커널 암호화 기능이 필요한 작업에 약간의 성능 영향을 줄 수 있지만, 익스플로잇을 완전히 방지할 수 있다고 언급했습니다.
이 기사는 정보 제공 목적으로만 작성되었으며 투자 조언을 구성하지 않습니다.