CSS, 받은편지함 속 폭탄

4 hours ago 3

웹메일이 신뢰할 수 없는 HTML·CSS를 신뢰된 UI 안에서 렌더링하면서 생기는 파서·새니타이저 불일치로 UI 조작, 토큰 유출, 외부 서비스 침해, 비밀번호 탈취까지 가능함 허용된 <label>, 의사 요소, 속성 선택자, 글꼴 높이 측정, 애니메이션만으로 Outlook 동작을 대신 실행하거나 AI 브라우저에 간접 프롬프트 주입을 수행하고, CSP가 외부 자원을 막아도 숫자 토큰 정보를 빼낼 수 있음 Fastmail·ProtonMail·Gmail의 이미지 프록시 우회, Fastmail의 CSSOM 변형, Outlook의 CSS gadget과 미디어 쿼리 파싱 오류를 통해 이메일 영역 밖의 신뢰된 UI까지 CSS 제어 범위가 확장됨 Fastmail에서는 모든 클릭을 특정 UI 동작으로 바꾸는 CSS hotwiring이 가능했고, Outlook에서는 Firefox의 <select> 동작과 새니타이저 우회를 결합해 전체 화면 로그인 UI를 위조하고 비밀번호를 실시간으로 탈취함 방어하려면 이메일을 sandboxed iframe으로 격리하고 이미지 요청·data: URL·<select>·위험한 선택자를 차단하며, CSSOM 처리에는 엄격한 문자 허용 목록과 CSS gadget 검사를 적용해야 함 웹메일 새니타이징의 구조적 문제 웹메일은 신뢰할 수 없는 HTML을 안전하게 표시하기 위해 새니타이저를 사용하지만, 새니타이저가 안전하다고 판단한 구문과 브라우저가 실제 렌더링한 결과가 달라질 수 있음 일부 클라이언트는 원본 대신 브라우저가 먼저 해석한 HTML·CSS를 필터링하지만, 이 결과도 다시 악성 구문으로 변형될 수 있음 조사 대상에는 Yahoo Mail, AOL Mail, Fastmail, ProtonMail, Gmail, Outlook이 포함됨 허용된 HTML로 Outlook UI 조작 <label for="...">는 id를 가진 폼 요소를 대상으로 삼고 해당 요소의 클릭 동작을 상속함 HTML 새니타이저가 <label>과 for를 허용하면 이메일 안의 레이블로 웹메일 UI를 조작할 수 있음 Outlook에서는 리본을 연 뒤 메시지를 고정하는 동작을 이메일에서 실행할 수 있었음 Microsoft는 해당 문제를 수정하지 않아 조사 시점에도 작동함 대상 후보는 개발자 도구에서 input[id], button[id], select[id], textarea[id]를...

Read Entire Article