
T3 Código 61c3794c aislamiento local remanente. La vista previa will-attach-webview establece contextIsolation en false y conserva el preload proporcionado por la página. Laboratorio de loopback.
El panel de vista previa desactiva la barrera entre la página y el preload. will-attach-webview fuerza contextIsolation = false y deja en su lugar una cadena preload y webpreferences proporcionada por la página. Las particiones no válidas siguen bloqueadas. La integración de Node permanece desactivada. El sandbox permanece activado. Este es un segundo golpe después de que un renderer ya haya sido comprometido.
Clase: Residuo de aislamiento Alcance: Local (tras el compromiso del renderer)
T3 Code 61c3794c - Ping
| ID | aún sin CVE |
| Clase | Residuo de aislamiento |
| Alcance | Local (renderer principal comprometido o página de vista previa comprometida) |
| CWE | CWE-693 |
| CVSS | Bajo: 3.6 CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:L/I:L/A:N |
| Producto | T3 Code |
| Afectado | 61c3794c32b0eeebfac09add43e403618c65d2d7 |
| Autenticación | ya dentro del renderer de escritorio |
| Licencia | GNU Affero GPL v3.0 |
| Laboratorio | Capa simulada de Electron; la ruta del preload es un oráculo de cadenas, nunca se ejecuta |
Requiere un renderer principal comprometido (o una página de vista previa que pueda influir en la etiqueta <webview>). Este manejador por sí solo no otorga Node en la página.
| Privilegio | Método / sink | Reconocimiento / integridad / disponibilidad | Probado en laboratorio o inferido |
|---|---|---|---|
Forzar contextIsolation=false en un webview de vista previa | DesktopWindow will-attach-webview | Integridad (aislamiento desactivado) | Probado en laboratorio. handler-invoked=1, contextIsolation=False |
Mantener una ruta preload plantada | mismo manejador, webPreferences.preload entrante | Integridad | Probado en laboratorio. preload-kept=1, testigo t3f03v2c8 en la ruta |
Mantener webpreferences plantado | mismo manejador | Integridad | Probado en laboratorio. webpreferences-kept=1 (nodeIntegration=yes sigue presente; el booleano nodeIntegration sigue forzado a false) |
| Control negativo: partición no válida | partición fuera de persist:t3code-preview- | n/a | Probado en laboratorio. preventDefault |
Permanece cerrado ante este residuo
| Eje | Método / sink | Por qué está cerrado |
|---|---|---|
| Integridad | nodeIntegration en este webview | el manejador lo establece en false |
| Integridad | webview sin sandbox | el manejador establece sandbox=true |
| Integridad | adjuntar una partición que no es de vista previa | event.preventDefault() |
| Integridad | RCE remoto no autenticado | requiere primero el compromiso del renderer |
PREVIEW_WEBVIEW_PREFERENCES es contextIsolation=false,sandbox=true,nodeIntegration=false. El requisito documentado de Electron para will-attach-webview es eliminar preload y webpreferences de los atributos proporcionados por la página.
El manejador está en línea en window.webContents.on("will-attach-webview"). Disparé ese listener en la capa simulada de DesktopWindow existente con una partición de vista previa válida y una ruta de preload plantada.
Falsos caminos: tratar el aislamiento desactivado como Node en la página hoy (el sandbox y nodeIntegration todavía se mantienen).
python3 t3code-preview-webview-isolation-Abraxas-Labs.py
o:
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
Establecer contextIsolation = true (o eliminar la línea; true es el valor predeterminado). delete webPreferences.preload; delete webPreferences.webpreferences; antes de retornar.
61c3794c32b0eeebfac09add43e403618c65d2d7DesktopWindow.ts will-attach-webviewGNU Affero GPL v3.0. Consulte LICENSE. Solo laboratorio de bucle invertido. Sin garantía.
Abraxas Labs [email protected]
Por favor, acredite el CVE a Abraxas Labs.