
컴파일 및 실행 전에 패치 상태, XFRM ESP-in-TCP 구성, 사용자 네임스페이스를 검증하는 CVE-2026-46300용 자동 사전 요구사항 감사 기능을 갖춘 Linux 커널 로컬 권한 상승 익스플로잇
Linux 커널 LPE 감사 및 익스플로잇 툴킷 · Page-Cache / XFRM ESP-in-TCP(espintcp) 회귀
대화형 감사 → LPE 사전 조건 탐지 → 익스플로잇 자동 실행(확인 후)
⚠️ 윤리적 및 법적 경고 이 도구는 합법적이고 승인된 보안 테스트 전용입니다 — 계약된 펜테스트, 랩/CTF, 또는 본인 소유 자산. 시스템 소유자의 허가 없이 사용하는 것은 범죄 행위입니다(UU ITE, Computer Fraud and Abuse Act 등). 사용자는 전적인 책임을 집니다.
CVE-2026-46300은 skb_try_coalesce()의 회귀로 인해 page-cache 손상을 일으키는 Linux 커널의 로컬 권한 상승(LPE) 취약점이며, XFRM ESP-in-TCP(espintcp) 서브시스템을 통해 악용됩니다.
이 저장소에는 2가지 구성 요소가 포함되어 있습니다:
| 파일 | 기능 |
|---|---|
fragnesia.sh | 감사 스캐너 — 3가지 사전 조건을 확인한 후 타깃이 취약하면 익스플로잇 실행을 제안합니다 |
fragnesia.c | LPE 익스플로잇 — 스크립트가 컴파일하여 실행하는 익스플로잇 소스 코드 |
┌───────────────────────┐
│ fragnesia.sh │
│ Audit 3 pemeriksaan │
└──────────┬────────────┘
▼
CHECKS_TRIGGERED > 0 ?
┌──────┴───────┐
│ Ya │ Tidak → Selesai (target aman)
▼ │
Cek fragnesia.c ada?
┌──────┴───────┐
│ Ya │ Tidak → instruksi, selesai
▼ │
Konfirmasi user [y/N]
┌──────┴───────┐
│ Ya │ Tidak → batal, selesai
▼ │
gcc -O2 -w fragnesia.c -o exp
│
▼
./exp ← eksekusi exploit
운영자(스크립트가 실행되는 호스트):
gcc타깃(잠재적으로 취약하려면):
skb_try_coalesce() 패치 없음)CONFIG_XFRM_ESPINTCP / CONFIG_INET_ESPINTCP 활성(=y/m)kernel.unprivileged_userns_clone=1)# 1. Clone
git clone https://github.com/Kentox493/CVE-2026-46300_Fragnesia.git
cd CVE-2026-46300_Fragnesia
# 2. Pastikan script executable
chmod +x fragnesia.sh
# 3. (Opsional) Toolchain bila belum ada
sudo apt update && sudo apt install -y build-essential
# atau (RHEL/Fedora)
sudo dnf groupinstall "Development Tools"
./fragnesia.sh
fragnesia.c와 fragnesia.sh는 같은 디렉터리에 있어야 합니다. 스크립트가 익스플로잇을 상대 경로로 찾기 때문입니다.
스크립트가 3가지 감사 항목을 자동으로 실행합니다.
취약한 징후가 있으면(CHECKS_TRIGGERED > 0) 다음 프롬프트가 표시됩니다:
[?] Target terdeteksi vulnerable (2/3). Lanjut kompilasi & eksekusi exploit? [y/N]:
y를 입력하면 스크립트가 자동으로 익스플로잇을 컴파일하고 실행합니다.
y 외의 다른 키 / Enter를 입력하면 실행이 취소되고 감사가 종료됩니다.
gcc -O2 -w fragnesia.c -o exp
./exp
호스트 이름과 활성 커널을 확인한 다음, 배포판의 커널 패키지 변경 로그(apt-get changelog / rpm -q --changelog)에서 CVE-2026-46300 패치 존재 여부를 확인합니다.
| 결과 | 의미 |
|---|---|
VULN | 배포판 변경 로그에 패치 없음 |
SAFE | CVE-2026-46300 패치 감지됨 |
/boot/config-$(uname -r) 또는 /proc/config.gz에서 ESP-in-TCP 플래그를 확인합니다. 폴백: /lib/modules/ 또는 lsmod를 통해 XFRM/IPsec 모듈 탐지.
| 결과 | 의미 |
|---|---|
VULN | CONFIG_XFRM_ESPINTCP / CONFIG_INET_ESPINTCP 활성(=y/m) |
SAFE | 서브시스템 비활성화 / 빌드되지 않음 |
kernel.unprivileged_userns_clone을 확인합니다(폴백: /proc/sys/user/max_user_namespaces).
| 결과 | 의미 |
|---|---|
VULN | Userns 활성화 → 비특권 사용자가 CAP_NET_ADMIN을 얻을 수 있음 |
SAFE | Userns 비활성화 → 완화 조치 활성 |
UNCERTAIN | 확인할 수 없음 → 수동 검토 필요 |
| 점수 | Verdict |
|---|---|
| 3/3 VULN | 🟥 CRITICAL — 전체 공격 체인 충족 |
이 단계는 CHECKS_TRIGGERED > 0일 때 만 활성화됩니다. 스크립트가 실행하는 내용:
# 1. Verifikasi keberadaan fragnesia.c
# 2. Konfirmasi user (default: TIDAK / N)
# 3. Kompilasi exploit:
gcc -O2 -w fragnesia.c -o exp
# 4. Eksekusi:
./exp
컴파일 플래그 참고 사항:
-O2 — 레벨 2 최적화(race/timing 기반 익스플로잇의 안정성을 위해 중요)-w — 경고 억제(익스플로잇 소스에는 일반적으로 int-conversion 등의 경고가 가득함)스크립트 내장 오류 처리:
| 조건 | 처리 |
|---|
┌──────────────────────────────────────────────────────────────────┐
│ FRAGNESIA (CVE-2026-46300) - HOST VULNERABILITY AUDIT TOOL │
│ Linux Kernel Page-Cache / XFRM espintcp Regression Inspector │
└──────────────────────────────────────────────────────────────────┘
┌──[STEP 1] Host & Kernel Verification
│ [i] INFO │ Hostname : webserver-01
│ [i] INFO │ Active Kernel : 6.8.0-45-generic
│ [!] VULNERABLE │ Patch Changelog -> No security patch found for CVE-2026-46300
└──
┌──[STEP 2] Kernel Subsystems Configuration (XFRM / ESP)
│ [!] VULNERABLE │ ESP-in-TCP Flag -> CONFIG_XFRM_ESPINTCP / CONFIG_INET_ESPINTCP active (=y/m)
└──
┌──[STEP 3] User Namespace Isolation Prerequisite
│ [!] VULNERABLE │ User Namespaces -> Enabled (Allows unprivileged user to gain CAP_NET_ADMIN)
└──
┌──────────────────────────────────────────────────────────────────┐
│ EXECUTIVE AUDIT SUMMARY │
└──────────────────────────────────────────────────────────────────┘
[!] AUDIT RESULT: CRITICAL - TARGET IS HIGHLY VULNERABLE
Semua prasyarat rantai serangan (Kernel patch, ESP subsistem, dan Userns) terpenuhi.
┌──────────────────────────────────────────────────────────────────┐
│ OPSIONAL: EKSEKUSI EXPLOIT FRAGNESIA (LPE) │
└──────────────────────────────────────────────────────────────────┘
[i] fragnesia.c ditemukan (18,432 bytes).
[?] Target terdeteksi vulnerable (3/3). Lanjut kompilasi & eksekusi exploit? [y/N]: y
┌──[STEP 4] Kompilasi & Eksekusi Exploit (fragnesia.c)
│ [i] INFO : Toolchain: gcc (Ubuntu 13.2.0-23ubuntu4) 13.2.0
│ $ gcc -O2 -w fragnesia.c -o exp
│ [✓] Kompilasi berhasil -> ./exp
│ $ ./exp
│ [*] Fragnesia exploit running...
│ [*] Overwriting page cache...
│ [*] Got root! uid=0(root) gid=0(root)
└──
skb_try_coalesce() 수정 사항이 포함된 릴리스로 업그레이드합니다.sudo sysctl -w kernel.unprivileged_userns_clone=0
/etc/sysctl.conf에 추가합니다.echo 'install esp4_offload /bin/true' | sudo tee /etc/modprobe.d/disable-esp.conf
sudo update-initramfs -u
/tmp에서 exp라는 이름의 수상한 바이너리 / 의심스러운 프로세스 모니터링CAP_NET_ADMIN 제한CVE-2026-46300_Fragnesia/
├── fragnesia.sh # Audit scanner + trigger eksekusi exploit (bash)
├── fragnesia.c # Source exploit LPE (C)
└── README.md # Dokumentasi ini
합법적인 사용 전용입니다. 이 도구는 다음을 대상으로 합니다:
이 도구를 어떤 인프라에서 실행하기 전에 반드시 시스템 소유자의 서면 허가를 받아야 합니다.
저장소는 어떠한 보증도 없이 "있는 그대로" 제공됩니다. 기여자는 오용에 대해 책임지지 않습니다.
라이선스: MIT
skb_try_coalesce() — 네트워킹 스택 문서| 항목 | 세부 사항 |
|---|
| CVE | CVE-2026-46300 |
| 유형 | 로컬 권한 상승(LPE) |
| 구성 요소 | Linux 커널 — page-cache + XFRM ESP-in-TCP(espintcp) |
| 근본 원인 | skb_try_coalesce() 회귀 → 메모리/page-cache 손상 |
| 사전 조건 | 3가지 조건 충족 필요(감사 테이블 참조) |
| 영향 | 비특권 사용자 → root |
| 1–2/3 VULN | 🟨 MEDIUM / PARTIALLY EXPOSED — 부분적 완화 |
| 0/3 VULN | 🟩 SECURE — 패치됨 / 구성 요소 비활성화 |
fragnesia.c가 없음 | 지침 메시지 표시, 크래시 없음 |
gcc가 설치되지 않음 | 툴체인 설치 명령 안내 |
| 컴파일 실패 | 익스플로잇이 실행되지 않으며 컴파일러 오류가 표시됩니다 |
종료 코드 ./exp ≠ 0 | 실패로 보고됨 |