Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
vbox-lsilogic-sas-config — VirtualBox 7.2.20 - Crítico - Local - Confusão de tipos / leitura/escrita arbitrária - sobreposição SAS1068 CONFIG SCSI-SPI | Kitploit
Ferramentas/GitHubGitHub/abraxas/vbox-lsilogic-sas-config
Forensia de MemóriaAnálise de VulnerabilidadesExploraçãoEngenharia ReversaVirtualização para SegurançaPapers e PesquisaExploração de Binários
GitHub

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
abraxas/vbox-lsilogic-sas-config

vbox-lsilogic-sas-config

VirtualBox 7.2.20 - Crítico - Local - Confusão de tipos / leitura/escrita arbitrária - sobreposição SAS1068 CONFIG SCSI-SPI

Ver Repositório
11há 2 diasAinda não revisado

Abraxas Labs - vbox-lsilogic-sas-config

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

vbox-lsilogic-sas-config

Classe: Confusão de tipos / leitura/escrita arbitrária Alcance: Local (convidado)

Oracle VM VirtualBox OSS 7.2.20 (f2792cf44f663989818507e36d3db5f978523c5e)

O CONFIG do SAS1068 MPT trata a Porta 0 SCSI-SPI como uma página de 12 bytes. No SAS, essa página é a outra metade de uma union: pManufacturingPage7 mais cbManufacturingPage7. Um CONFIG READ do convidado vaza o ponteiro do heap via DMA. Um CONFIG WRITE planta o ponteiro e o tamanho. A página de fabricação 7 então copia através do ponteiro plantado.

O ring3 do convidado em um SAS1068 anexado (PDM LsiLogicSas, PCI 1000:0054) obtém leitura/escrita arbitrária no processo da VM. Isso é o heap do VirtualBoxVM / VBoxHeadless, não uma fuga do kernel do host.

IDainda sem CVE
ClasseConfusão de tipos / leitura/escrita arbitrária
AlcanceLocal (convidado)
CWECWE-843, CWE-822
CVSSCrítico: 8.8 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
ProdutoVirtualBox OSS
Afetado7.2.20 (f2792cf44)
RequerSAS1068 anexado (PDM LsiLogicSas, PCI 1000:0054)
LicençaGNU Affero GPL v3.0
Laboratórioharness de origem em loopback

O que um atacante pode fazer

Método: o ring3 do convidado programa o doorbell MMIO ou a FIFO de requisições do SAS1068 com MPT_MESSAGE_HDR_FUNCTION_CONFIG (0x04), tipo de página SCSI-SPI Port 0 (0x03). O despacho sempre chama o getter SPI. Apenas EXTENDED é restrito a SAS. O getter de atributo de página está comentado, então a página Readonly Port 0 ainda é gravável. A SPI Port 0 é empacotada em 12 bytes e sobrepõe SasPages.pManufacturingPage7 (8) mais cbManufacturingPage7 (4).

PrivilégioTipoStatusO que concede
CONFIG SCSI-SPI Port 0 READreconhecimentocomprovado em laboratórioDMA do ponteiro do heap do processo da VM pManufacturingPage7 e seu tamanho para a RAM do convidado. Entrada para ASLR.
CONFIG SCSI-SPI Port 0 WRITEintegridadecomprovado em laboratórioplanta ponteiro + tamanho escolhidos pelo convidado sobre esses campos SAS
CONFIG READ da página de fabricação 7integridadecomprovado em laboratóriocopia bytes do host do endereço plantado para o GPA do convidado (VBOX-LSILOGIC-SAS-CONFIG-WITNESS)
CONFIG WRITE da página de fabricação 7integridadeinferido a partir do mesmo gettercopia bytes do convidado para o endereço plantado (escrita arbitrária no VirtualBoxVM)
páginas SPI Port 1 / Device 0reconhecimento / integridadesobreposição inferidaPort 1 vaza/planta pSASIOUnitPage0; Device 0 página 0 atinge paPHYs; Device 0 página 1 atinge pSASDeviceHead
ponteiro plantado inválidodisponibilidadeinferidoderruba o processo da VM no próximo acesso a página SAS ou em lsilogicR3ConfigurationPagesFree

Fechado em adjacentes:

  • kernel do host
  • outras VMs
  • VBoxSVC
  • SPI LSI53C1030 padrão de convidado Windows (SpiPages é o layout real; esta confusão de tipos precisa do SAS1068)
  • páginas SAS EXTENDED em um controlador SPI (VERR_NOT_FOUND)
  • token de hardening do Windows / AppContainer (isto é heap do processo da VM, não um bypass de sandbox)

Isto é leitura/escrita arbitrária no processo da VM, não fuga do kernel do host. Usuário completo no host ainda precisa de um resquício de hardening. Não o combinei com uma escrita 3D remanescente: o UAF DX11 do VMSVGA (d691aa68) está fechado neste pin.

Sem Guest Additions. Sem 3D. Sem VRDP. Não é PUEL. O ring3 hostil do convidado é suficiente; o driver mpt/mptsas in-box não é necessário.

Como eu encontrei

Eu estava no OSS 7.2.20 após a CPU de setembro de 2026 e analisei o LsiLogic MPT CONFIG. O vazamento silencioso de pilha de respostas de 2026 já está fechado: 122c6880 faz RT_ZERO em MptReplyUnion em erro de I/O SCSI. Eu estava procurando um resquício dessa classe, não aquele sink.

O resquício é uma union, não uma resposta de pilha:

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

O SAS alloc preenche os ponteiros de host SasPages e nunca executa a inicialização de página SPI. O getter de porta SPI em DevLsiLogicSCSI.cpp:2795 não tem verificação de enmCtrlType. Os casos SPI de despacho CONFIG não têm restrição. O getter de atributo de página está comentado em cpp:3159. A página de fabricação 7 em cpp:2701 tem restrição SAS, que é o caminho pretendido, e desreferencia pManufacturingPage7 sem verificação de NULL. É assim que um READ/WRITE de Port 0 do tipo SPI se torna um vazamento e plantio de ponteiro SAS.

Caminhos errados já registrados: reenviar 122c6880; tratar o LSI53C1030 padrão como este bug; inflar um crash de ponteiro selvagem para escape do kernel host; uma VM ativa quando o overlay empacotado é suficiente. Teatro: um reverse shell. O oráculo são os dados da página dummy CONTROL, depois vazamento/plantio/leitura arbitrária de VBOX-LSILOGIC-SAS-CONFIG-WITNESS.

Lab

cd lab
./run.sh

Ou python3 vbox-lsilogic-sas-config-Abraxas-Labs.py. Harness de origem das pin structs. O VirtualBox não é inicializado. Projeto Compose vbox-lsilogic-sas-config, network_mode: none. Não vincular nada.

CONTROLE: a leitura de overlay da Porta 0 tipada como SPI são dados de página fictícios, não o ponteiro de heap da página de fabricação 7.

SAS confuso: a LEITURA da Porta 0 vaza pManufacturingPage7 correspondendo ao calloc. A ESCRITA da Porta 0 planta um segundo ponteiro de buffer testemunha + tamanho. O getter da página de fabricação 7 mais a LEITURA de CONFIG copia a testemunha para o array GPA do convidado.

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

A correção

Condicionar os tipos de página SCSI-SPI a enmCtrlType == LSILOGICCTRLTYPE_SCSI_SPI. Restaurar a verificação de atributo de página para que a Porta 0 Somente Leitura permaneça somente leitura. Verificar pManufacturingPage7 (e os outros ponteiros SAS) quanto a NULL antes da desreferência. Parar de sobrepor SpiPages e SasPages em uma única union.

Referências

Baixar ferramenta