
T3 Code 61c3794c residuo di isolamento locale. L'anteprima will-attach-webview imposta contextIsolation su false e mantiene il preload fornito dalla pagina. Laboratorio loopback.
Il riquadro di anteprima disattiva la barriera tra la pagina e il preload. will-attach-webview forza contextIsolation = false e lascia in piedi una stringa preload e webpreferences fornita dalla pagina. Le partizioni non valide vengono comunque bloccate. L'integrazione di Node resta disattivata. La sandbox resta attiva. Questo è un secondo colpo dopo che un renderer è già stato compromesso.
Classe: Residuo di isolamento Portata: Locale (dopo la compromissione del renderer)
T3 Code 61c3794c - Ping
| ID | nessuna CVE al momento |
| Classe | Residuo di isolamento |
| Portata | Locale (renderer principale compromesso o pagina di anteprima compromessa) |
| CWE | CWE-693 |
| CVSS | Basso: 3.6 CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:L/I:L/A:N |
| Prodotto | T3 Code |
| Affetto | 61c3794c32b0eeebfac09add43e403618c65d2d7 |
| Auth | già all'interno del renderer desktop |
| Licenza | GNU Affero GPL v3.0 |
| Lab | Livello mock di Electron; il percorso del preload è un oracolo a stringa, mai eseguito |
Richiede un renderer principale compromesso (o una pagina di anteprima in grado di influenzare il tag <webview>). Da solo, questo handler non fornisce Node nella pagina.
| Privilegio | Metodo / sink | Ricognizione / integrità / disponibilità | Provato in lab o dedotto |
|---|---|---|---|
Forzare contextIsolation=false su una webview di anteprima | DesktopWindow will-attach-webview | Integrità (isolamento disattivato) | Provato in lab. handler-invoked=1, contextIsolation=False |
Mantenere un percorso preload impiantato | stesso handler, webPreferences.preload in ingresso | Integrità | Provato in lab. preload-kept=1, testimone t3f03v2c8 nel percorso |
Mantenere webpreferences impiantate | stesso handler | Integrità | Provato in lab. webpreferences-kept=1 (nodeIntegration=yes ancora presente; il booleano nodeIntegration è comunque forzato a false) |
| Controllo negativo: partizione non valida | partizione al di fuori di persist:t3code-preview- | n/d | Provato in lab. preventDefault |
Resta chiuso su questo residuo
| Asse | Metodo / sink | Perché è chiuso |
|---|---|---|
| Integrità | nodeIntegration su questa webview | l'handler lo imposta a false |
| Integrità | webview non sandboxata | l'handler imposta sandbox=true |
| Integrità | collegamento di una partizione non di anteprima | event.preventDefault() |
| Integrità | RCE remoto non autenticato | richiede prima la compromissione del renderer |
PREVIEW_WEBVIEW_PREFERENCES è contextIsolation=false,sandbox=true,nodeIntegration=false. Il requisito documentato di Electron per will-attach-webview è di eliminare preload e webpreferences dagli attributi forniti dalla pagina.
L'handler è inline su window.webContents.on("will-attach-webview"). Ho attivato quel listener sul livello mock esistente di DesktopWindow con una partizione di anteprima valida e un percorso preload impiantato.
Vicoli ciechi: considerare l'isolamento disattivato come Node nella pagina oggi (sandbox e nodeIntegration reggono ancora).
python3 t3code-preview-webview-isolation-Abraxas-Labs.py
oppure:
cd lab
./run.sh
IOC handler-invoked=1
IOC contextIsolation=False
IOC sandbox=True
IOC nodeIntegration=False
IOC preload-kept=1
IOC webpreferences-kept=1
IOC preventDefault-invalid-partition=1
SUCCESS T3-F03-WEBVIEW t3f03v2c8
Impostare contextIsolation = true (o rimuovere la riga; true è il valore predefinito). delete webPreferences.preload; delete webPreferences.webpreferences; prima di restituire.
61c3794c32b0eeebfac09add43e403618c65d2d7DesktopWindow.ts will-attach-webviewGNU Affero GPL v3.0. Vedi LICENSE. Solo laboratorio loopback. Nessuna garanzia.
Abraxas Labs [email protected]
Si prega di attribuire il CVE ad Abraxas Labs.