
리눅스 커널 로컬 권한 상승 PoC로, CVE-2026-68121을 대상으로 하며 PPPoE, FUSE, IP6GRE를 연쇄하여 커널 메모리를 손상시키고 root 권한을 획득합니다.
[!WARNING] 이 PoC는 방어자, 유지보수자, 그리고 승인된 보안 팀이 자신이 소유하거나 명시적으로 테스트 권한을 부여받은 시스템에서 패치, 완화 조치, 탐지, 노출 여부를 검증할 수 있도록 돕기 위한 목적으로만 제공됩니다.
이 자료의 사용이 합법적이고, 승인되었으며, 통제된 상태에서 격리된 테스트 환경에서 이루어지도록 보장하는 것은 전적으로 사용자의 책임입니다.
[!WARNING] 이 PoC는 파괴적입니다. 이는 의도적으로 라이브 커널 메모리를 손상시킵니다. 잘못된 위치에 덮어쓰기를 하면 관련 없는 커널 메모리를 손상시키고 머신을 멈추거나 충돌시킬 수 있습니다.
일회용 VM/임시 호스트에서만 실행하십시오.
PoC의 동작:
struct file 객체를 포함하는 AF_PACKET TX-ring 캐리어를 구성하고
채워진 fdtable을 대상 할당으로 그루밍합니다dev_hard_header()가 skb 헤드를 재할당하도록 만든 다음, 오래된 PPPoE
헤더 포인터를 사용해 fdtable 항목을 가짜 파일로 리디렉션하고,/bin/sh -p를 엽니다.이 PoC는 단순함을 유지하기 위해 x86-64를 가정하고 대상으로 합니다. 이론적으로 이 버그는 아키텍처에 특화되어서는 안 되지만, 커널 베이스 유출부터 체인의 나머지 부분까지 많은 부분을 포팅해야 합니다.
완전성을 위해 빠짐없이 나열합니다:
6.19.10-300.fc44.x86_64를 사용하는 Fedora 44, 또는 6.8.0-124-generic이나
6.8.0-136-generic을 사용하는 Ubuntu 24.04 (이 검사를 제거해 볼 수는 있지만,
다른 배포판/커널 버전은 대상별 사용자 정의/그루밍이 필요할 수 있음)passwd 항목과 자신이 소유한 홈 디렉터리를 가진 일반 비루트 계정CAP_NET_ADMIN과 CAP_NET_RAW를 가진 비특권
사용자/네트워크 네임스페이스 생성/dev/fuse에 대한 읽기/쓰기 접근, 그리고 Fedora에서는 FUSE, PPPoE, IP6GRE,
AF_PACKET/TX-ring, team 지원, Ubuntu에서는 bonding 지원membarrierRLIMIT_NOFILE 하드 제한, 런타임에 확인되며
최대 8,192개의 디스크립터가 필요할 수 있음gcc, taskset, unshare,
ip, true, /bin/sh, 그리고 Ubuntu에서 직접 unshare -Urn이 거부될 경우
aa-exec와 로드된 trinity 프로파일4GB RAM과 다양한 4개 이상 CPU 조합에서만 테스트되었습니다. 다른 CPU/메모리 조합은 더 많은 그루밍이 필요하거나 쓰기가 관련 없는 메모리로 리디렉션될 수 있습니다.
passwd 항목이 있는 비특권 사용자로 실행하십시오. Ubuntu 변환은 시간이 걸릴 수
있습니다 (예: 300회 이상의 시도).
python3 pppoeject_root_repro.py