
T3 Code 61c3794c 로컬 격리 잔여물. will-attach-webview 미리보기가 contextIsolation을 false로 설정하고 페이지에서 제공한 preload를 유지함. 루프백 랩.
미리보기 창은 페이지와 preload 사이의 벽을 꺼버립니다. will-attach-webview는 contextIsolation = false를 강제하고, 페이지가 제공한 preload 및 webpreferences 문자열을 그대로 둡니다. 잘못된 파티션은 여전히 차단됩니다. Node 통합은 꺼진 상태로 유지됩니다. 샌드박스는 켜진 상태로 유지됩니다. 이는 렌더러가 이미 침해된 이후의 두 번째 타격입니다.
분류: 격리 잔여물 도달 범위: 로컬 (렌더러 침해 이후)
T3 Code 61c3794c - Ping
| ID | 아직 CVE 없음 |
| 분류 | 격리 잔여물 |
| 도달 범위 | 로컬 (침해된 메인 렌더러 또는 침해된 미리보기 페이지) |
| CWE | CWE-693 |
| CVSS | 낮음: 3.6 CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:L/I:L/A:N |
| 제품 | T3 Code |
| 영향 받음 | 61c3794c32b0eeebfac09add43e403618c65d2d7 |
| 인증 | 이미 데스크톱 렌더러 내부 |
| 라이선스 | GNU Affero GPL v3.0 |
| 실험실 | Electron 모의 계층; preload 경로는 문자열 오라클이며 절대 실행되지 않음 |
침해된 메인 렌더러(또는 <webview> 태그에 영향을 줄 수 있는 미리보기 페이지)가 필요합니다. 이 핸들러만으로는 페이지에 Node를 얻지 못합니다.
| 권한 | 메서드 / 싱크 | 정찰 / 무결성 / 가용성 | 실험실 입증 또는 추론 |
|---|---|---|---|
미리보기 webview에서 contextIsolation=false 강제 | DesktopWindow will-attach-webview | 무결성 (격리 해제) | 실험실 입증. handler-invoked=1, contextIsolation=False |
심어둔 preload 경로 유지 | 동일 핸들러, 들어오는 webPreferences.preload | 무결성 | 실험실 입증. preload-kept=1, 경로에 witness t3f03v2c8 존재 |
심어둔 webpreferences 유지 | 동일 핸들러 | 무결성 | 실험실 입증. webpreferences-kept=1 (nodeIntegration=yes 여전히 존재; nodeIntegration 불리언은 여전히 false로 강제됨) |
| 음성 대조군: 잘못된 파티션 | persist:t3code-preview- 밖의 파티션 | 해당 없음 | 실험실 입증. preventDefault |
이 잔여물에서도 닫힌 상태로 유지됨
| 축 | 메서드 / 싱크 | 닫힌 이유 |
|---|---|---|
| 무결성 | 이 webview의 nodeIntegration | 핸들러가 false로 설정 |
| 무결성 | 샌드박스 없는 webview | 핸들러가 sandbox=true로 설정 |
| 무결성 | 미리보기가 아닌 파티션 연결 | event.preventDefault() |
| 무결성 | 인증되지 않은 원격 RCE | 먼저 렌더러 침해가 필요 |
PREVIEW_WEBVIEW_PREFERENCES는 contextIsolation=false,sandbox=true,nodeIntegration=false입니다. Electron이 문서화한 will-attach-webview 요구 사항은 페이지가 제공한 속성에서 preload와 webpreferences를 삭제하는 것입니다.
핸들러는 window.webContents.on("will-attach-webview")에 인라인으로 있습니다. 유효한 미리보기 파티션과 심어둔 preload 경로를 사용하여 기존 DesktopWindow 모의 계층에서 해당 리스너를 발동시켰습니다.
잘못된 접근: 격리 해제를 오늘날 페이지 내 Node로 간주한 것 (샌드박스와 nodeIntegration은 여전히 유지됨).
python3 t3code-preview-webview-isolation-Abraxas-Labs.py
또는:
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
contextIsolation = true로 설정합니다(또는 해당 줄을 제거합니다. true가 기본값입니다). 반환하기 전에 delete webPreferences.preload; delete webPreferences.webpreferences;를 수행합니다.
61c3794c32b0eeebfac09add43e403618c65d2d7DesktopWindow.ts will-attach-webviewGNU Affero GPL v3.0. LICENSE를 참조하세요. 루프백 실험실 전용입니다. 보증하지 않습니다.
Abraxas Labs [email protected]
CVE는 Abraxas Labs에 크레딧을 부여해 주세요.