Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
litebox-snp-novalidation-userptr — Hohe lokale Schreibprimitive: LiteBox v0.1.0 SNP UserPtr ist NoValidation, sodass der Guest-Syscall-Puffer eine Kernel-VA sein kann | Kitploit
Tools/GitHubGitHub/abraxas/litebox-snp-novalidation-userptr
Privilege EscalationSpeicherforensikSchwachstellenanalyseExploitationSicherheitsvirtualisierungCloud-SicherheitHardware-SicherheitPapers & ForschungBinary-Exploitation

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
GitHubabraxas/litebox-snp-novalidation-userptr

litebox-snp-novalidation-userptr

Hohe lokale Schreibprimitive: LiteBox v0.1.0 SNP UserPtr ist NoValidation, sodass der Guest-Syscall-Puffer eine Kernel-VA sein kann

Repository anzeigen
7vor 4 TagenNoch nicht geprüft

Abraxas Labs - litebox-snp-novalidation-userptr

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  litebox-snp-novalidation-userptr

litebox-snp-novalidation-userptr

Klasse: Write-Primitive (Guest-zu-SNP-Kernel R/W) Reichweite: Lokal

LiteBox v0.1.0 (d8556e3) - Microsoft

SNP LinuxKernel verdrahtet UserConstPtr / UserMutPtr mit NoValidation, was den Zeiger unverändert zurückgibt. Der Kommentar lautet TODO: implement pointer validation to ensure the pointers are in user space. LVBS prüft bereits den Bereich USER_ADDR_MIN..USER_ADDR_END (0x10000 .. 0x7ffffffff000 auf x86_64) und umschließt Kopien mit STAC/CLAC. SNP tut dies nicht. Guest-mmap einer Kernel-VA wird abgelehnt (TASK_ADDR_MAX), sodass CPL3-Stores den Kernel-Heap nicht treffen können. Der Syscall-Pfad läuft im Kernel-Modus und kann es. memcpy_fallible ist rep movsb im Supervisor-Modus.

Dieser Überrest ist Guest-zu-SNP-Kernel (VMPL2 LiteBox) R/W. Er ist nicht Host-VMPL0, nicht Hypervisor und nicht SNP-Firmware.

IDnoch keine CVE
KlasseWrite-Primitive (Guest-zu-SNP-Kernel R/W)
ReichweiteLokal (nicht vertrauenswürdiger Guest-Userspace innerhalb von litebox_runner_snp)
CWECWE-823, CWE-119
CVSSHoch: 8.8 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Produktmicrosoft/litebox
Betroffenv0.1.0 (d8556e33676e47244bfefa139c1e9ff95bd67d53) SNP-Kernel-Plattform. TODO noch auf origin/main Stand 97001fd
AuthGuest läuft bereits innerhalb der SNP-VM
LizenzGNU Affero GPL v3.0
Labnur 127.0.0.1. Keine SNP-Hardware

Was ein Angreifer tun kann

Wer: nicht vertrauenswürdiger Guest-Userspace innerhalb von litebox_runner_snp. Issue #505 (offener RFC) ist diese Klasse. LVBS hat sie implementiert. SNP nicht.

Integrität (im Lab nachgewiesenes Gadget)

Das Lab ist ein Supervisor-Modus-copy_from_slice-Gadget der beiden Validatoren plus eine Kopie der Pin-Datei litebox_platform_linux_kernel/src/lib.rs. Es ist kein Guest-Syscall auf SNP-Hardware.

PfadZiel-VAErgebnis
SNP NoValidation (Identität)0x1000 (unterhalb USER_ADDR_MIN) und 0xffff800000000000 (GVA_OFFSET)akzeptiert; memcpy schreibt LITEBOX-SNP-NOVALIDATION-USERPTR-WITNESS in das als Kernel gekennzeichnete Objekt
LVBS-Bereichsprüfungdieselben Kernel-Zieleabgelehnt, errno=14 EFAULT, Kernel-Objekt leer
Beidelegales User-Ziel 0x400000beide kopieren den Witness in das User-Objekt
Pin-Datei im Imagen/aTODO-Kommentar plus UserConstPtr / UserMutPtr mit NoValidation verdrahtet (LvbsValidateAccess fehlt)

Integrität (abgeleitet aus dem Pin-Syscall-Pfad)

Methode + SinkPrivileg
read / readv / pread / recv* / getcwd / uname / epoll_pwait mit buf = Kernel-VA -> UserMutPtr::copy_from_slice -> memcpy_fallible (rep movsb)schreibt bis zu MAX_KERNEL_BUF_SIZE (512 KiB) pro Syscall, oder iovec-Seitenblöcke, in jede gemappte SNP-Kernel-VA. Payload ist vom Guest gewählt (Pipe/Datei, die der Guest geschrieben hat)

Recon (abgeleitet)

Methode + SinkPrivileg
write / writev / send* mit buf = Kernel-VA -> read_at_offsetliest gemappten SNP-Kernel-Speicher in einen Guest-fd
nicht gemappte Kernel-VAEFAULT über die Exception-Tabelle (Mapper, welche Kernel-Seiten existieren)

Verfügbarkeit (abgeleitet)

Methode + SinkPrivileg
SNP-Kernel-Heap / Seitentabellen / Shim-TLS korrumpierenAbsturz oder Umleitung des SNP-Guest-Kernels. Ich behaupte kein zuverlässiges RIP-Gadget

Was dieser Überrest nicht gewährt

  • Host-VMPL0, Hypervisor, SNP-Firmware
  • LVBS VTL1 (LvbsValidateAccess + STAC/CLAC)
  • sysretq zu einem Kernel-RIP (sanitize_for_user_return verweigert Nicht-User-RIP/RSP)
  • Guest-mmap / mprotect einer Kernel-VA (TASK_ADDR_MAX)
  • Linux/Windows-Userland-NoValidation (gleicher Prozess; die Host-Grenze dort ist seccomp, das ist ein verwandter Überrest)
  • Kein Bruch der SEV-SNP-C-bit-Vertraulichkeit für sich genommen. Es ist eine Confused-Deputy-Kopie innerhalb des LiteBox-SNP-Kernels

Wie ich es gefunden habe

litebox_platform_linux_kernel/src/lib.rs Zeilen 59-67 in v0.1.0. Das TODO ist noch auf main. LVBS hat bereits LvbsValidateAccess mit USER_ADDR_MIN = 0x10000 und USER_ADDR_MAX = 0x7ffffffff000. Ich hatte keine SNP-Hardware. Das Lab kopiert die Pin-Datei, implementiert Identität vs. Bereichsprüfung und schreibt den Witness durch NoValidation in Ziel-VAs, die die LVBS-Prüfung ablehnt.

Lab

cd lab
./run.sh

Loopback 127.0.0.1:19130. Compose-Projekt litebox-snp-novalidation-userptr. Witness LITEBOX-SNP-NOVALIDATION-USERPTR-WITNESS. Letzte Zeile:

SUCCESS litebox-snp-novalidation-userptr novalidation-kernel-write-ok lvbs-range-reject pin-TODO-present user-range-copy-ok LITEBOX-SNP-NOVALIDATION-USERPTR-WITNESS

Fix

Verdrahte SNP UserPtr mit derselben Userspace-Bereichsprüfung, die LVBS bereits hat (USER_ADDR_MIN..USER_ADDR_END), und halte Kopien hinter der Exception-Tabelle. Lass NoValidation nicht auf einer Kernel-Plattform stehen.

Vendor-Intake ist MSRC (https://msrc.microsoft.com/create-report). Öffne kein öffentliches GitHub-Issue auf microsoft/litebox.

Kontakt

Abraxas Labs - abraxaslabs.tech - github.com/abraxas - @abraxas_null - [email protected]

Tool herunterladen