논리 버그만으로 Microsoft Edge 전체 익스플로잇 체인 구축하기

4 days ago 14

Pwn2Own Berlin 2026을 위해 메모리 손상 없이 논리 버그만으로 Microsoft Edge에서 임의 코드 실행까지 이어지는 체인을 구축함 브라우저 내부 탐색 API가 출발 탭을 명시하지 않으면 활성 탭을 사용하는 동작을 이용해, 다른 사이트에서 JavaScript를 실행하는 범용 크로스 사이트 스크립팅(UXSS)을 확보함 신뢰 출처 검사와 팝업 차단 우회, OneAuth 자동 로그인, 이메일을 노출하는 CORS 설정 오류를 연결해 클릭 없이 UXSS를 실행하고 CSP도 우회함 Edge 읽기 모드의 read:// 보호 누락과 진단 로그 API의 경로 처리 문제를 결합해, 웹페이지의 JavaScript 실행을 임의 파일 쓰기로 확장함 프로토콜 실행 정책 파일을 덮어쓰고 Windows의 telnet:// 실행 경로를 이용해 임의 코드 실행에 도달함. 전체 익스플로잇은 100줄 미만이며, 연구에는 두 달이 걸림 연구 범위와 탐색 흐름 Pwn2Own Berlin 2026용 체인은 메모리 손상 없이 버그 5개와 Windows 기능 2개로 구성했으며, Pwnie Awards의 Epic Achievement를 수상함 버그 발견과 체인 구성 과정은 HITCON과 Hexacon에서도 공유했으며, 발표 자료를 공개함 조사 출발점은 Chromium의 탐색(navigation) 처리 과정임. 전체 구조를 이해하기 위한 자료로 Chrome University의 Life of a Navigation을 추천함 Navigation Throttles에서 발견한 내부 탐색 경로 Navigation Throttles는 브라우저 프로세스에서 실행되며, 브라우저나 렌더러가 시작한 모든 탐색 요청을 가로챔 지난 5년간 Google Chrome이 수정한 CVE 3,000여 개 중 관련 항목은 20개 미만이었음 Edge의 EdgeCAGuidanceNavigationThrottle 는 기업용 Entra ID의 조건부 액세스 기능에 사용되며, Microsoft 사이트에서 업무 계정으로 로그인할 때 적절한 사용자 프로필로 안내함 login.live.com 같은 특정 Microsoft 출처에서 내부 형식의 주소로 탐색해야 작동함 쿼리의 email과 현재 프로필 이메일이 다르면 계정 전환 안내를 표시함 이메일이 일치하면 원래 탐색을 취소하고, 쿼리의 switch_profile URL로 내부 Navigate() API를 호출함 공격자가 제어하는 URL을...

Read Entire Article




피플앤툴즈 네트워크
🛍 샵