PwnEscape(CVE-2026-99999)는 리눅스 네트워킹 처리 과정의 취약점을 이용해 가상머신 게스트에서 호스트 메모리를 읽고, 연구진이 소유한 실험 환경에서는 호스트 권한으로 코드를 실행한 사례다. 취약점은 하이퍼바이저가 아니라 리눅스 커널의 네트워킹 스택에 있었으며, 상위 커널에는 이를 막는 수정이 반영됐다.

취약점이 작동한 방식

연구는 2026년 8월 18일 버셀(Vercel)이 발표한 100만 달러 규모의 샌드박스 보안 챌린지에 참여하면서 시작됐다. 연구진은 KVM 자체를 공격하는 대신 게스트가 호스트 커널에 영향을 줄 수 있는 경로를 살폈고, 3일 만에 리눅스 네트워킹에서 취약한 동작을 찾아냈다고 밝혔다.

리눅스는 체크섬 계산을 나중에 수행하도록 패킷 상태와 위치 정보를 보관할 수 있다. 이 메타데이터는 이후 패킷 메모리에 쓰기를 수행하는 데 쓰인다. 문제는 신뢰도가 낮은 입력에서 온 체크섬 시작 위치가 패킷 처리 과정에서 바뀐 헤더 경계에 맞춰 검증되지 않았다는 점이다.

취약한 경로에서는 커널이 IPv4 헤더를 20바이트로 해석해 처리한 뒤, 체크섬을 완성하는 작업이 헤더의 첫 바이트를 바꿀 수 있었다. 이후 단편화 코드가 변경된 헤더 길이 값을 다시 읽어 헤더를 60바이트로 취급했다. 연구진의 재현 사례에서는 논리적으로 유효한 패킷 데이터가 28바이트였지만, 이 처리로 그 범위를 벗어난 호스트 메모리 32바이트가 전송 패킷에 포함됐다.

여기서 ‘범위를 벗어났다’는 것은 sk_buff가 유효한 패킷 데이터로 기록한 선형 영역을 넘어섰다는 뜻이다. 물리 메모리 할당 객체의 경계를 넘었다는 의미는 아니다. 연구진은 통제된 입력과 비교 사례, 원시 패킷 관찰 및 애플리케이션 수준의 수신 확인을 이용해 호스트 쪽에서 데이터가 바뀌어 전송되는지 확인했다고 설명했다.

실험실에서 입증한 범위

연구진은 자신들이 소유한 KVM 환경에서 메모리 노출을 넘어 선택된 64바이트 호스트 커널 쓰기도 입증했다. 이어 제한된 실험 체인에서 호스트 루트 권한으로 실행되는 보조 프로그램을 구동하고, 호스트가 만든 표시값을 게스트로 돌려받았다. 이 과정은 완전히 종료된 상태에서 시작한 부팅 4회에서 성공했다고 밝혔다.

이는 연구진 소유 환경에서 수행한 격리된 실증이다. 특정 업체의 프로덕션 환경에서 루트 명령을 실행했다는 뜻은 아니다. 연구진은 별도로 소유한 Linux 6.12 및 7.x 호스트에서 서비스 거부도 확인했다고 밝혔다. 메모리 쓰기 과정과 다른 하이퍼바이저 환경에 적용하는 방법은 후속 글에서 다룰 예정이라고 덧붙였다.

연구에는 pwn.ai의 실험적 연구 도구 Omega-Pwn과 GPT-5.6 Sol이 활용됐다. 연구진은 사람이 조사 범위를 정하고 근거를 판단했으며, 모델은 소스 분석과 공격 경로 탐색을 지원했다고 설명했다. 이 설명은 연구진이 밝힌 작업 방식이며, 도구의 성능을 독립적으로 검증한 결과는 아니다.

리눅스 수정과 적용 시 확인할 점

수정은 체크섬 계산을 완료하기 전에 체크섬 시작 위치가 IPv4 헤더 끝보다 뒤인지 확인하는 방식이다. 리눅스 네트워킹 유지관리자 마이클 S. 치르킨(Michael S. Tsirkin)이 제출한 수정은 공통 검사 함수를 추가하고, 영향을 받는 IPv4 체크섬 처리 경로 5곳에 검사를 적용했다. 패치는 2026년 10월 8일 net.git에 반영됐고, 10월 14일 메인라인 리눅스 트리에 병합됐다.

수정은 IPv4 헤더를 체크섬 쓰기로부터 보호하는 방어 심층화 조치다. TCP나 UDP 체크섬 필드가 올바른 위치인지까지 검증하는 것은 아니며, 가상 네트워크 입력 단계의 검증을 전면 재설계한 것도 아니다. 패치 설명은 더 폭넓은 입력 검증에 추가 작업이 필요하다고 명시했다. 안정화 버전으로의 역이식과 공식 CVE 공표 상태는 발표 시점의 커널 기록에서 확인해야 한다.

버셀은 이 취약점을 챌린지에서 가장 중요한 보고이자 최종 집계에서 유일한 치명적(Critical) 발견으로 소개했다. 연구진은 버셀이 고객 보호 조치를 신속히 진행하고 다른 영향을 받을 수 있는 하이퍼바이저·샌드박스 업체에 알리는 등 공개와 수정 조율에 협력했다고 평가했다. 연구진은 취약점이 버셀에만 해당하는 설정 오류가 아니라 리눅스 커널에 있는 문제라고 설명했다.

수정 기록과 기술 자료는 리눅스 커널의 적용된 수정, 마이클 S. 치르킨의 10월 7일 패치, 연구진의 9월 패치 제안과 IPv4 단편화 패치, 10월 8일 패치 승인 기록에서 확인할 수 있다. 관련 자료로는 리눅스 체크섬 오프로드 문서, 버셀의 100만 달러 샌드박스 챌린지 발표, 버셀의 최종 보고서, 연구진의 이전 KVM 연구도 있다.