
Nebula Security의 VEGA 연구팀이 공개한 분석에 따르면 리눅스 커널 rtmutex/futex-PI 코드에서 장기간 존재한 use-after-free 취약점 CVE-2026-43499, 이른바 GhostLock이 확인됐다. 연구팀은 이 취약점이 로컬 비권한 프로세스의 권한 상승과 컨테이너 탈출로 이어질 수 있다고 설명했다.
GhostLock은 커널의 `kernel/locking/rtmutex.c`에 있는 `remove_waiter()` 처리 흐름에서 비롯된다. 연구팀 설명에 따르면 Requeue-PI 프록시 경로에서 해당 함수가 실제 대기 태스크가 아니라 호출 중인 태스크의 `pi_blocked_on` 값을 정리하면서, 대기 태스크가 이미 반환된 커널 스택 프레임을 계속 가리키는 상태가 만들어질 수 있다. 이후 PI 체인 탐색이 이 포인터를 따라가면 dangling pointer가 use-after-free 조건으로 이어진다.
연구팀은 영향 범위를 리눅스 2.6.39-rc1부터 7.1-rc1까지로 제시했다. 또 PI futex가 활성화된 커널에서 일반 threading 및 futex 시스템콜만으로 트리거할 수 있으며, 별도 capability나 user namespace, 네트워크 접근이 필요하지 않다고 밝혔다. 다만 공격은 로컬 실행을 전제로 하므로 원격 코드 실행 취약점과는 구분해야 한다.
공개된 버그 요약에 따르면 연구팀은 이 취약점을 이용해 약 97% 안정도의 권한 상승과 컨테이너 탈출을 구현했고, Google kernelCTF에서 보상을 받았다. 이 수치는 연구팀이 사용한 테스트 환경에서의 결과로, 실제 운영 환경의 위험 평가는 커널 버전, 배포판 패치 적용 여부, 컨테이너 격리 설정에 따라 달라질 수 있다.
패치는 `remove_waiter()`가 `current`가 아니라 `waiter->task`를 기준으로 대기 태스크의 `pi_blocked_on`을 정리하도록 바꾸는 방향으로 설명됐다. Nebula Security는 2026년 4월 18일 보안 메일링 리스트에 보고했고 4월 20일 수정됐으며 5월 4일 백포트됐다고 밝혔다. 이후 관련 회귀 취약점 CVE-2026-53166은 6월 2일 패치됐다고 덧붙였다.
운영자 관점에서 핵심 대응은 배포판이 제공하는 고정 커널로 업데이트하는 것이다. 연구팀은 사이트 단위의 깔끔한 우회책은 없으며, `RANDOMIZE_KSTACK_OFFSET` 같은 설정은 공격 난도를 올릴 수 있지만 패치를 대체하지 않는다고 설명했다. Kernel.org 기준으로도 2026년 7월 4일자 최신 안정·장기지원 커널 릴리스가 공지돼 있어, 서버와 개발·CI 환경의 커널 업데이트 상태를 확인할 필요가 있다.
출처: Nebula Security CVE-2026-43499 요약 https://nebusec.ai/buglist/CVE-2026-43499/ , Nebula Security GhostLock 기술 분석 https://nebusec.ai/research/ionstack-part-2/ , Linux Kernel Archives https://www.kernel.org/









