
CVE-2026-64531 (OVSwrap) PoC - Linux 커널 Open vSwitch LPE; 패치 검증 및 보안 연구용
Linux 커널 Open vSwitch 모듈 로컬 권한 상승(일반 사용자 → root) PoC입니다. 16비트 nla_len 필드의 정수 래핑을 이용해 일반 사용자에서 root까지 권한을 상승시킵니다.
OVS가 생성한 중첩 action 스트림이 65535바이트를 초과하면 16비트 nla_len 필드가 래핑됩니다. 공격자는 개인 사용자/네트워크 네임스페이스 안에서 CAP_NET_ADMIN만 보유하고 있어도 매우 긴 CLONE action을 구성할 수 있으며, 커널 파서가 공격자가 제어하는 conntrack 데이터에 빠지게 만들어 임의 커널 읽기 및 워드 단위 감소 프리미티브를 획득한 뒤, 최종적으로 자신의 자격 증명을 변조해 root로 권한을 상승시킵니다.
이 버그는 13년 동안 존재한 안전하지 않은 할당(commit 74f84a5726c7)에서 비롯됐으며, 이전에는 32KiB 총 길이 상한으로 보호됐지만 2025년 3월 commit a1e64addf3ff가 상한을 제거하면서 활성화됐습니다.
openvswitch 모듈unshare -Urn(초기 네임스페이스 권한 불필요)6.13–6.17, 6.19, 7.0 계열은 EOL이며 수정이 없습니다.
unshare -Urn), sudo 설치# 반드시 일반(비-root) 사용자로 실행
python3 ovswrap-poc.py
스크립트는 자동으로 unshare -Urn을 실행해 개인 사용자+네트워크 네임스페이스로 진입합니다. 내장된 약 800개의 x86-64 커널 빌드에 대한 미리 유도된 오프셋 테이블을 사용하며, 일치하지 않으면 System.map / BTF / pahole에서 동적으로 유도합니다. 성공하면 /etc/sudoers.d/에 항목을 작성해 비밀번호 없는 root 셸을 얻습니다.
보안 연구, 취약점 검증, 방어적 테스트 목적으로만 사용하세요. 이 PoC는 커널 자격 증명을 파괴하고 sudoers 파일을 수정하며 좀비 프로세스와 손상된 OVS 상태를 남깁니다. 반드시 폐기 가능한 가상 머신에서 실행하고, 프로덕션 또는 권한 없는 환경에서 실행하지 마세요.
3f1f755366687d051174739fb99f7d560202f60b| 커널 계열 | 영향 범위 | 첫 수정 버전 |
|---|
| 5.15.y | 5.15.180 – 5.15.211 | 5.15.212 |
| 6.1.y | 6.1.132 – 6.1.177 | 6.1.178 |
| 6.6.y | 6.6.84 – 6.6.144 | 6.6.145 |
| 6.12.y | 6.12.20 – 6.12.96 | 6.12.97 |
| 6.18.y | 6.18.0 – 6.18.39 | 6.18.40 |
| 7.1.y | 7.1.0 – 7.1.4 | 7.1.5 |