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
vbox-lsilogic-sas-config — VirtualBox 7.2.20 – Kritisch – Lokal – Typverwechslung / arb R/W – SAS1068 CONFIG SCSI-SPI-Overlay | Kitploit
Tools/GitHubGitHub/abraxas/vbox-lsilogic-sas-config
SpeicherforensikSchwachstellenanalyseExploitationReverse EngineeringSicherheitsvirtualisierungPapers & ForschungBinary-Exploitation
GitHubabraxas/vbox-lsilogic-sas-config

vbox-lsilogic-sas-config

VirtualBox 7.2.20 – Kritisch – Lokal – Typverwechslung / arb R/W – SAS1068 CONFIG SCSI-SPI-Overlay

Repository anzeigen
11vor 3 TagenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Abraxas Labs - vbox-lsilogic-sas-config

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  vbox-lsilogic-sas-config

vbox-lsilogic-sas-config

Klasse: Type Confusion / beliebiges Lesen/Schreiben Reichweite: Lokal (Gast)

Oracle VM VirtualBox OSS 7.2.20 (f2792cf44f663989818507e36d3db5f978523c5e)

SAS1068 MPT CONFIG behandelt SCSI-SPI Port 0 als 12-Byte-Seite. Auf SAS ist diese Seite die andere Hälfte einer Union: pManufacturingPage7 plus cbManufacturingPage7. Ein Gast-CONFIG-READ gibt per DMA den Heap-Zeiger preis. Ein CONFIG-WRITE platziert Zeiger und Größe. Manufacturing Page 7 kopiert dann über den platzierten Zeiger.

Gast-Ring3 auf einem angeschlossenen SAS1068 (PDM LsiLogicSas, PCI 1000:0054) erhält beliebiges Lesen/Schreiben im VM-Prozess. Das ist der Heap von VirtualBoxVM / VBoxHeadless, kein Host-Kernel-Escape.

IDnoch keine CVE
KlasseType Confusion / beliebiges Lesen/Schreiben
ReichweiteLokal (Gast)
CWECWE-843, CWE-822
CVSSKritisch: 8.8 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
ProduktVirtualBox OSS
Betroffen7.2.20 (f2792cf44)
Benötigtangeschlossenen SAS1068 (PDM LsiLogicSas, PCI 1000:0054)
LizenzGNU Affero GPL v3.0
LaborLoopback-Source-Harness

Was ein Angreifer tun kann

Methode: Gast-Ring3 programmiert die SAS1068-MMIO-Doorbell oder die Request-FIFO mit MPT_MESSAGE_HDR_FUNCTION_CONFIG (0x04), Seitentyp SCSI-SPI Port 0 (0x03). Der Dispatch ruft immer den SPI-Getter auf. Nur EXTENDED ist SAS-gated. Der Getter für Seitenattribute ist auskommentiert, daher ist die Readonly-Port-0-Seite weiterhin beschreibbar. SPI Port 0 ist auf 12 Bytes gepackt und überlagert SasPages.pManufacturingPage7 (8) plus cbManufacturingPage7 (4).

BerechtigungArtStatusWas sie gewährt
CONFIG SCSI-SPI Port 0 READReconim Labor nachgewiesenDMA des Heap-Zeigers pManufacturingPage7 des VM-Prozesses und seiner Größe in den Gast-RAM. ASLR-Eingabe.
CONFIG SCSI-SPI Port 0 WRITEIntegritätim Labor nachgewiesenplatziert gastgewählten Zeiger + Größe über diesen SAS-Feldern
Manufacturing Page 7 CONFIG READIntegritätim Labor nachgewiesenkopiert Host-Bytes von der platzierten Adresse in die Gast-GPA (VBOX-LSILOGIC-SAS-CONFIG-WITNESS)
Manufacturing Page 7 CONFIG WRITEIntegritätabgeleitet aus demselben Getterkopiert Gast-Bytes an die platzierte Adresse (beliebiges Schreiben in VirtualBoxVM)
Port 1 / Device 0 SPI-SeitenRecon / Integritätabgeleitete ÜberlagerungPort 1 gibt pSASIOUnitPage0 preis/platziert es; Device 0 Page 0 trifft paPHYs; Device 0 Page 1 trifft pSASDeviceHead
beliebiger platzierter ZeigerVerfügbarkeitabgeleitetbringt den VM-Prozess beim nächsten SAS-Seitenzugriff oder bei lsilogicR3ConfigurationPagesFree zum Absturz

Angrenzend ausgeschlossen:

  • Host-Kernel
  • andere VMs
  • VBoxSVC
  • Standard-Windows-Gast-LSI53C1030-SPI (SpiPages ist das echte Layout; diese Type Confusion benötigt SAS1068)
  • SAS-EXTENDED-Seiten auf einem SPI-Controller (VERR_NOT_FOUND)
  • Windows-Hardening-Token / AppContainer (dies ist VM-Prozess-Heap, keine Sandbox-Umgehung)

Dies ist beliebiges Lesen/Schreiben im VM-Prozess, kein Host-Kernel-Escape. Vollständiger Host-Benutzerzugriff erfordert noch ein Hardening-Überbleibsel. Ich habe es nicht mit einem verbleibenden 3D-Write kombiniert: VMSVGA DX11 UAF (d691aa68) ist auf diesem Pin geschlossen.

Keine Guest Additions. Kein 3D. Kein VRDP. Kein PUEL. Feindseliges Gast-Ring3 genügt; der mitgelieferte mpt/mptsas-Treiber ist nicht erforderlich.

Wie ich es gefunden habe

Ich saß auf OSS 7.2.20 nach der CPU vom September 2026 und ging LsiLogic MPT CONFIG durch. Das stille Reply-Stack-Leck von 2026 ist bereits geschlossen: 122c6880 setzt MptReplyUnion bei SCSI-I/O-Fehlern auf RT_ZERO. Ich suchte nach einem Überbleibsel dieser Klasse, nicht nach dieser Senke.

Das Überbleibsel ist eine Union, keine Stack-Reply:

union {
    MptConfigurationPagesSpi SpiPages;
    MptConfigurationPagesSas SasPages;
} u;  /* DevLsiLogicSCSI.h:3323 */

SAS alloc füllt SasPages-Host-Zeiger und führt niemals die SPI-Seiteninitialisierung aus. Der SPI-Port-Getter unter DevLsiLogicSCSI.cpp:2795 hat keine enmCtrlType-Prüfung. CONFIG-Dispatch-SPI-Fälle sind ungeschützt. Der Seitenattribut-Getter ist unter cpp:3159 auskommentiert. Die Manufacturing-Seite 7 unter cpp:2701 ist SAS-gated, was der beabsichtigte Pfad ist, und dereferenziert pManufacturingPage7 ohne NULL-Prüfung. So wird ein SPI-typisierter Port-0-READ/WRITE zu einem SAS-Zeiger-Leak und -Plant.

Bereits dokumentierte Fehlwege: erneutes Einreichen von 122c6880; das Standard-LSI53C1030 als diesen Bug behandeln; einen Wild-Pointer-Crash zu einem Host-Kernel-Escape aufblähen; eine laufende VM, wenn das gepackte Overlay ausreicht. Theater: eine Reverse Shell. Das Orakel sind CONTROL-Dummy-Seitendaten, dann Leak/Plant/Arb-Read von VBOX-LSILOGIC-SAS-CONFIG-WITNESS.

Lab

cd lab
./run.sh

Oder python3 vbox-lsilogic-sas-config-Abraxas-Labs.py. Source-Harness der Pin-Strukturen. VirtualBox wird nicht gebootet. Compose-Projekt vbox-lsilogic-sas-config, network_mode: none. Nichts binden.

CONTROL: SPI-typisierter Port-0-Overlay-Read sind Dummy-Seitendaten, nicht der Heap-Zeiger der Manufacturing-Page-7.

SAS verwirrt: Port-0-READ leakt pManufacturingPage7 passend zu calloc. Port-0-WRITE platziert einen zweiten Witness-Buffer-Zeiger+Größe. Manufacturing-Page-7-Getter plus CONFIG-READ kopiert den Witness in das Gast-GPA-Array.

SUCCESS vbox-lsilogic-sas-config leak=yes plant=yes arb-read=yes VBOX-LSILOGIC-SAS-CONFIG-WITNESS

Die Behebung

SCSI-SPI-Seitentypen an enmCtrlType == LSILOGICCTRLTYPE_SCSI_SPI binden. Die Prüfung der Seitenattribute wiederherstellen, damit Readonly Port 0 schreibgeschützt bleibt. pManufacturingPage7 (und die anderen SAS-Zeiger) vor der Dereferenzierung auf NULL prüfen. Das Überlagern von SpiPages und SasPages in einer Union beenden.

Referenzen

  • github.com/VirtualBox/virtualbox Tag v7.2.20 (f2792cf44f663989818507e36d3db5f978523c5e)
  • DevLsiLogicSCSI.h Union bei 3323; SPI Port 0 Größe 12 bei 2251
  • DevLsiLogicSCSI.cpp SAS-Allokation 619; Manufacturing-Getter 2701; SPI-Port-Getter 2795; Seitenattribut auskommentiert 3159; CONFIG READ/WRITE 3293
  • Geschlossenes Geschwister, nicht dieser Sink: 122c6880 (MptReplyUnion SCSI-I/O-Fehler-Stack)
Tool herunterladen