
CVE-2026-81000에 대한 Python PoC로, TUN/OVS 범위 초과 쓰기와 pipe_buffer 플래그 조작을 통해 root 권한을 획득하는 Linux 커널 로컬 권한 상승 취약점입니다.
[!WARNING] 이 PoC는 방어자, 유지보수자, 그리고 권한을 부여받은 보안 팀이 자신이 소유하거나 명시적으로 테스트 권한을 부여받은 시스템에서 패치, 완화 조치, 탐지, 노출 여부를 검증할 수 있도록 돕기 위한 목적으로만 제공됩니다.
이 자료의 사용이 합법적이고, 권한을 부여받았으며, 통제된 환경에서, 격리된 테스트 환경에서 이루어지도록 보장하는 것은 전적으로 사용자의 책임입니다.
[!WARNING] 이 PoC는 파괴적입니다. 이 PoC는
/etc/pam.d/su를 어떠한 롤백도 없이 수정합니다. 잘못된 위치에 덮어쓰기를 하면 관련 없는 커널 메모리를 손상시키고 머신을 멈추거나 충돌시킬 수 있습니다.일회용 VM/임시 호스트에서만 실행하십시오.
PoC의 동작:
/etc/pam.d/su의 1바이트 파일 기반 버퍼를 담은 pipe ring 옆에 4 KiB skb
head를 groom합니다pipe_buffer에
PIPE_BUF_FLAG_CAN_MERGE를 설정할 수 있는 후보 TUN 패킷을 전송하고,pam_permit.so를 기록한 뒤 su - root로 마무리합니다.이 PoC는 단순함을 유지하기 위해 x86-64를 가정하고 대상으로 합니다. 이론적으로 이 버그는 아키텍처에 특화된 것이 아닙니다.
완전성을 위해 빠짐없이 열거합니다:
6.19.10-300.fc44.x86_64가 설치된 Fedora 44 Server, 또는 6.17.0-40-generic이
설치된 Ubuntu 24.04.4 (이 검사들을 제거해 볼 수는 있지만, 다른
배포판/커널 버전은 대상별 맞춤 설정/grooming이 필요할 수 있습니다)pam_rootok.so를 포함하는 수정되지 않은 /etc/pam.d/su,
그리고 pam_rootok.so 및 pam_permit.so PAM 모듈CAP_NET_ADMIN을 가진 비특권 user/network
네임스페이스 생성/dev/net/tun, 그리고 TUN, Open vSwitch datapath, netkit, VXLAN
커널 지원ip, unshare, true, su, 그리고 직접적인
unshare -Urn이 거부될 경우 Ubuntu에서 와 로드된 프로파일두 대상 모두 4 GB 및 32 GB RAM에서 29 vCPU로 테스트되었으며, 후자가 더 안정적이었습니다. 다른 CPU/메모리 조합은 더 많은 grooming이 필요할 수 있고 덮어쓰기가 관련 없는 메모리로 향할 수 있습니다.
passwd 항목이 있는 비특권 사용자로 실행하십시오.
python3 tunderflow_root_repro.py
aa-exectrinity