
T3 Código 61c3794c resíduo de isolamento local. A pré-visualização will-attach-webview define contextIsolation como false e mantém o preload fornecido pela página. Laboratório de loopback.
O painel de pré-visualização desativa a barreira entre a página e o preload. will-attach-webview força contextIsolation = false e deixa no lugar um preload e uma string webpreferences fornecidos pela página. Partições inválidas continuam bloqueadas. A integração com o Node permanece desativada. O sandbox permanece ativado. Este é um segundo golpe depois que um renderer já foi comprometido.
Classe: Resíduo de isolamento Alcance: Local (após comprometimento do renderer)
T3 Code 61c3794c - Ping
| ID | ainda sem CVE |
| Classe | Resíduo de isolamento |
| Alcance | Local (renderer principal comprometido ou página de pré-visualização comprometida) |
| CWE | CWE-693 |
| CVSS | Baixo: 3.6 CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:L/I:L/A:N |
| Produto | T3 Code |
| Afetado | 61c3794c32b0eeebfac09add43e403618c65d2d7 |
| Autenticação | já dentro do renderer do desktop |
| Licença | GNU Affero GPL v3.0 |
| Laboratório | Camada mock do Electron; o caminho do preload é um oráculo de string, nunca executado |
Requer um renderer principal comprometido (ou uma página de pré-visualização capaz de influenciar a tag <webview>). Não obtém Node na página apenas com este handler.
| Privilégio | Método / sink | Reconhecimento / integridade / disponibilidade | Comprovado em laboratório ou inferido |
|---|---|---|---|
Forçar contextIsolation=false em uma webview de pré-visualização | DesktopWindow will-attach-webview | Integridade (isolamento desativado) | Comprovado em laboratório. handler-invoked=1, contextIsolation=False |
Manter um caminho preload plantado | mesmo handler, webPreferences.preload recebido | Integridade | Comprovado em laboratório. preload-kept=1, testemunha t3f03v2c8 no caminho |
Manter webpreferences plantado | mesmo handler | Integridade | Comprovado em laboratório. webpreferences-kept=1 (nodeIntegration=yes ainda presente; booleano nodeIntegration ainda forçado como false) |
| Controle negativo: partição inválida | partição fora de persist:t3code-preview- | n/a | Comprovado em laboratório. preventDefault |
Permanece fechado neste resíduo
| Eixo | Método / sink | Por que está fechado |
|---|---|---|
| Integridade | nodeIntegration nesta webview | o handler define false |
| Integridade | webview sem sandbox | o handler define sandbox=true |
| Integridade | anexar uma partição que não é de pré-visualização | event.preventDefault() |
| Integridade | RCE remoto não autenticado | requer comprometimento do renderer primeiro |
PREVIEW_WEBVIEW_PREFERENCES é contextIsolation=false,sandbox=true,nodeIntegration=false. O requisito documentado do Electron para will-attach-webview é excluir preload e webpreferences dos atributos fornecidos pela página.
O handler está inline em window.webContents.on("will-attach-webview"). Eu disparei esse listener na camada mock existente do DesktopWindow com uma partição de pré-visualização válida e um caminho de preload plantado.
Caminhos errados: tratar o isolamento desativado como Node na página hoje (sandbox e nodeIntegration ainda se mantêm).
python3 t3code-preview-webview-isolation-Abraxas-Labs.py
ou:
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
Defina contextIsolation = true (ou remova a linha; true é o padrão). delete webPreferences.preload; delete webPreferences.webpreferences; antes de retornar.
61c3794c32b0eeebfac09add43e403618c65d2d7DesktopWindow.ts will-attach-webviewGNU Affero GPL v3.0. Consulte LICENSE. Apenas laboratório de loopback. Sem garantia.
Abraxas Labs [email protected]
Por favor, atribua o crédito do CVE ao Abraxas Labs.