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
Strumenti/GitHubGitHub/seregonwar/uaf-2023-28205
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebApprendimento e FormazioneSviluppo PayloadBinary Exploitation
GitHubseregonwar/uaf-2023-28205

uaf-2023-28205

PoC CVE-2023-28205: Vulnerabilità Use-After-Free in Apple WebKit

Vedi Repository
8148 mesi faNon ancora revisionato
Sito web

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

CVE-2023-28205: Vulnerabilità Use-After-Free in Apple WebKit

Questa vulnerabilità interessa Apple WebKit e può essere sfruttata tramite contenuti web appositamente predisposti, consentendo potenzialmente l'esecuzione di codice arbitrario nel contesto del processo WebKit.

La build di WebKit analizzata in questo repository è basata su WebKit-613.1.17.1 (famiglia PlayStation / Safari 15.4).


Descrizione

La proof of concept attiva una condizione use-after-free (UAF) ritardando intenzionalmente la registrazione di oggetti JavaScript come Map e Date durante le operazioni di structured cloning.

Questa finestra temporale consente al Garbage Collector (GC) di JavaScriptCore di recuperare oggetti ancora logicamente in uso, causando la dereferenziazione di puntatori obsoleti durante la prosecuzione dell'esecuzione.


Causa Tecnica di Base (CVE-2023-28205)

Componente Interessato

  • SerializedScriptValue
  • CloneDeserializer::deserialize()

Causa Principale

La vulnerabilità risiede nella logica di deserializzazione dello structured clone, in particolare nel modo in cui gli oggetti JavaScript appena creati vengono tracciati durante la deserializzazione ricorsiva.

In SerializedScriptValue.cpp, il deserializzatore utilizza contenitori WebKit standard come:

Vector<JSObject*, 32> outputObjectStack;
Vector<JSMap*, 4> mapStack;
Vector<JSSet*, 4> setStack;

Questi contenitori Vector non vengono scansionati dal Garbage Collector. Se un ciclo di garbage collection viene attivato durante la deserializzazione (ad esempio a causa di pressione sulla memoria o esecuzione JS rientrante), gli oggetti referenziati solo da questi contenitori potrebbero essere raccolti erroneamente.

Il deserializzatore, tuttavia, continua a utilizzare questi puntatori pendenti, determinando una condizione use-after-free.

Fix Mancante

La patch di sicurezza ufficiale di WebKit (commit c9880de) sostituisce questi contenitori con MarkedVector, una struttura compatibile con il GC che registra correttamente i suoi contenuti come GC root.

Nella build analizzata:

  • MarkedVector non è implementato
  • CloneDeserializer utilizza ancora Vector
  • Il GC non scansiona questi stack temporanei di oggetti

Ciò conferma che la build è completamente vulnerabile a CVE-2023-28205.


Analisi del Crash

Il seguente crash è stato riprodotto in modo affidabile dalla PoC ed è coerente con una dereferenziazione di puntatore obsoleto successiva al GC.

Indicatori Chiave

  • Segnale: SIGSEGV (11)
  • Indirizzo di fault: 0x0000000000000068
  • Processo: SceNKWebProcess
  • Modulo: libSceNKWebKit.sprx

L'indirizzo di fault 0x68 indica una dereferenziazione di un puntatore base NULL con offset di campo oggetto, una firma classica dell'accesso a un oggetto JavaScript liberato.

Lo stato dei registri conferma:

  • RAX = 0x0 (base oggetto NULL)
  • Esecuzione interamente nello userland di WebKit
  • Nessun coinvolgimento del kernel o di syscall

Questo comportamento di crash è una manifestazione diretta della UAF CloneDeserializer descritta sopra.


Dump del Crash

Clicca per espandere il dump del crash
Scarica lo strumento