Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2022-22063 — Problema di sicurezza nel firmware dell'hypervisor di alcuni chipset Qualcomm meno recenti. | Kitploit
Strumenti/GitHubGitHub/msm8916-mainline/cve-2022-22063
Sicurezza Sistemi EmbeddedEscalation di PrivilegiAnalisi delle VulnerabilitàExploitSicurezza HardwarePaper e RicercaApprendimento e FormazioneAnalisi del FirmwareBinary Exploitation
GitHubmsm8916-mainline/cve-2022-22063

CVE-2022-22063

Problema di sicurezza nel firmware dell'hypervisor di alcuni chipset Qualcomm meno recenti.

473133 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Vedi Repository

CVE-2022-22063

CVE-2022-22063 è un problema di sicurezza nel firmware dell'hypervisor di alcuni chipset Qualcomm meno recenti. Un componente hardware non protetto (il "boot remapper") può essere abusato per ottenere accesso completo in lettura/scrittura all'hypervisor da un sistema operativo modificato (privilege escalation). Sfruttare il problema è banale sulle piattaforme interessate, poiché non è richiesta la conoscenza della specifica versione del firmware (ad es. indirizzi o variabili).

Nota: Sebbene Qualcomm abbia fornito correzioni ai clienti (con molto tempo a disposizione per rilasciare aggiornamenti), molti dispositivi interessati sono già piuttosto vecchi e potrebbero non ricevere la correzione dal produttore. Il problema può essere sfruttato solo da un sistema operativo modificato o compromesso (utilizzando un altro problema di sicurezza). Mantenere il sistema operativo aggiornato e sicuro potrebbe essere sufficiente anche se il firmware è vulnerabile.

Panoramica

  • Identificatore CVE: CVE-2022-22063
  • Valutazione della sicurezza (Qualcomm): Critico
  • Common Vulnerability Scoring System: 8.4 (High), CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Common Weakness Enumeration: CWE-1257: Controllo degli accessi improprio applicato a regioni di memoria specchiate o aliasate e/o CWE-1262: Controllo degli accessi improprio per l'interfaccia dei registri, Qualcomm classifica il problema in generale come CWE-16: Configurazione.

Il problema è stato pubblicato anche nel [Bollettino sulla sicurezza di Qualcomm di dicembre 2022].

Requisiti

Il problema dipende da una combinazione di hardware e software in esecuzione sul target interessato:

  1. Software: Il dispositivo esegue un firmware "hypervisor" separato fornito da Qualcomm (di solito un'immagine ELF nella partizione hyp della memoria interna).
  2. Hardware: È presente una versione non sicura del boot remapper (di solito configurabile tramite un registro hardware chiamato APCS_BOOT_START_ADDR_NSEC), che non è protetta dall'hypervisor ed è quindi accessibile dal kernel del sistema operativo meno privilegiato (ad es. Linux).

Ci sono molti altri chipset che probabilmente hanno l'hardware interessato (ad es. MSM8909 e MSM8953), ma non dispongono di un firmware hypervisor separato che possa essere compromesso.

Impatto

  • Privilege Escalation: Dato un kernel del sistema operativo già compromesso (ad es. Linux), il problema consente di elevare banalmente i privilegi al livello dell'hypervisor (EL1 -> EL2 su ARM). Tutta la memoria gestita dall'hypervisor può essere letta o scritta. Questo rompe l'isolamento dei diversi domini di sicurezza o delle macchine virtuali gestite dall'hypervisor (se presenti, a seconda della configurazione).
    (Vedi anche: [Un'introduzione al controllo degli accessi sulle piattaforme Qualcomm Snapdragon])

  • Secure Boot: La maggior parte dei dispositivi Qualcomm disponibili in produzione utilizza il secure boot per impedire modifiche non autorizzate del firmware. Il firmware è firmato crittograficamente e verificato dalla catena di boot. Il problema consente di modificare o addirittura sostituire completamente il firmware dell'hypervisor caricato, in fase di esecuzione, da un sistema operativo modificato (sia tramite lo "sblocco del bootloader" ufficialmente supportato, sia tramite un altro exploit).
    (Vedi anche: [Panoramica tecnica su Secure Boot e autenticazione delle immagini Qualcomm (v1.0)] e (v2.0))

Contesto tecnico

Nota: Il problema è stato originariamente trovato sulla piattaforma Qualcomm Snapdragon 410 (MSM8916). Alcune delle spiegazioni seguenti potrebbero essere specifiche di MSM8916, ad es.:

  • Indirizzi di memoria specifici
  • Progettazione del firmware ARM/AArch64 a 64 bit (alcune piattaforme interessate supportano solo ARM/AArch32 a 32 bit)

Tuttavia, il concetto generale si applica in modo simile a tutte le piattaforme interessate.

Hypervisor

L'architettura ARMv8-A a 64 bit definisce 4 livelli di privilegio ("exception levels", EL). Esistono livelli separati che vengono tipicamente utilizzati per le applicazioni, i kernel dei sistemi operativi e un hypervisor:

AArch64 exception levels

La CPU passa da un livello all'altro durante le eccezioni, ad esempio a causa di un interrupt in arrivo. È anche possibile passare da alcuni livelli usando istruzioni speciali, come la Hypervisor Call (hvc).
(Vedi anche: [Modello delle eccezioni AArch64])

L'hypervisor può ospitare una o più macchine virtuali con kernel di sistemi operativi separati. A ogni macchina virtuale può essere fornita una propria visione della memoria utilizzando la traduzione di stage 2. Tutti gli accessi alla memoria da una macchina virtuale passano attraverso due fasi di traduzione: la prima è gestita dal sistema operativo (virtuale), mentre la seconda è gestita dall'hypervisor. La memoria utilizzata dall'hypervisor o da altre macchine virtuali può essere nascosta omettendola dalle tabelle di traduzione.
(Vedi anche: [Virtualizzazione AArch64], [Gestione della memoria AArch64])

Il firmware dell'hypervisor di Qualcomm viene eseguito in EL2 e utilizza la traduzione di stage 2 per impedire l'accesso alla memoria dell'hypervisor dal kernel del sistema operativo principale in esecuzione in EL1 (di solito Linux). Si noti che in questa configurazione la traduzione di stage 2 è utilizzata principalmente per la protezione della memoria, senza traduzione degli indirizzi. Il sistema operativo principale ha accesso diretto alla maggior parte dei componenti hardware nello spazio di input/output mappato in memoria (MMIO), ad es. il controller SD o il sottosistema della fotocamera. L'accesso alla memoria che appartiene all'hypervisor/EL2 (hyp) e al secure monitor/EL3 (parte di tz) è limitato:

Protezione della memoria dell'hypervisor Qualcomm (usando la traduzione di stage 2)

Boot Remapper

Il boot remapper non è correlato alla virtualizzazione: è necessario durante l'avvio iniziale di un core della CPU. Su questa piattaforma hardware i core della CPU iniziano sempre l'esecuzione all'indirizzo 0x0. Il boot remapper è un componente hardware aggiuntivo costruito attorno alla CPU che rimappa i primi 64 o 128 KiB (0x00000 - 0x20000) in una regione di memoria configurabile.

Per impostazione predefinita il boot remapper punta alla boot ROM (il primo codice che viene eseguito quando il dispositivo viene avviato). Successivamente la mappatura viene modificata in modo che gli altri core della CPU inizino immediatamente l'esecuzione nel firmware EL3 (parte di tz) caricato nella RAM:

Boot Remapper

Si noti come l'indirizzo a cui accede la CPU (all'interno di tz) sia accessibile utilizzando due diversi indirizzi fisici: l'indirizzo reale nella RAM (0x8650xxxx) e l'indirizzo rimappato tramite il boot remapper (0x0000xxxx).

Esistono in realtà due istanze separate del boot remapper:

Scarica lo strumento