-
Windows 10(32비트 시스템용)
-
Windows 10(x64 기반 시스템용)
-
Windows 10 버전 1607(32비트 시스템용)
-
Windows 10 버전 1607(x64 기반 시스템용)
-
Windows 10 버전 1809(32비트 시스템용)
-
Windows 10 버전 1809(ARM64 기반 시스템용)
-
Windows 10 버전 1809(x64 기반 시스템용)
-
Windows 10 버전 21H2(32비트 시스템용)
-
Windows 10 버전 21H2(ARM64 기반 시스템용)
-
Windows 10 버전 21H2(x64 기반 시스템용)
-
32비트 시스템용 Windows 10 버전 22H2
-
ARM64 기반 시스템용 Windows 10 버전 22H2
-
x64 기반 시스템의 Windows 10 버전 22H2
-
ARM64 기반 시스템용 Windows 11 버전 21H2
-
x64 기반 시스템의 Windows 11 버전 21H2
-
ARM64 기반 시스템용 Windows 11 버전 22H2
-
x64 기반 시스템의 Windows 11 버전 22H2
-
Windows Server 2008(32비트 시스템용) 서비스 팩 2
-
Windows Server 2008(32비트 시스템용) 서비스 팩 2(Server Core 설치)
-
Windows Server 2008(x64 기반 시스템용) 서비스 팩 2
-
Windows Server 2008(x64 기반 시스템용) 서비스 팩 2(Server Core 설치)
-
Windows Server 2008 R2(x64 기반 시스템용) 서비스 팩 1
-
Windows Server 2008 R2(x64 기반 시스템용) 서비스 팩 1(Server Core 설치)
-
Windows Server 2012
-
Windows Server 2012(Server Core 설치)
-
Windows Server 2012 R2
-
Windows Server 2012 R2(최소 설치)
-
Windows Server 2016
-
Windows Server 2016(Server Core 설치)
-
Windows Server 2019
-
Windows Server 2019(Server Core 설치)
-
Windows Server 2022
-
Windows Server 2022(Server Core 설치)
요약
Microsoft는 CVE-2023-36563에 설명된 대로 WordPad에서 사용할 때 OleConvertOLESTREAMToIStorage 및 OleConvertOLESTREAMToIStorageEx 함수의 취약성을 해결하기 위한 업데이트를 릴리스했습니다. 이러한 함수를 사용하는 다른 애플리케이션은 여전히 위험에 처할 수 있습니다.
OleConvertOLESTREAMToIStorage 및 OleConvertOLESTREAMToIStorageEx 함수는 OLE 개체를 OLE 1 스토리지 모델(OLESTREAM)에서 OLE 2 구조적 스토리지 개체(IStorage)로 변환하는 데 사용됩니다.
OLESTREAM에 연결된 개체가 있는 경우 이러한 함수는 변환에 필요한 정보를 가져오기 위해 링크 원본이 있는 서버에 자동으로 인증할 수 있습니다.
OLESTREAM이 인터넷에서 다운로드한 RTF 문서 또는 RTF 기반 전자 메일 메시지와 같은 신뢰할 수 없는 원본에서 오는 경우 사용자의 NTLM 자격 증명이 사용자가 모르게 원격 악성 서버에 공개될 수 있습니다.
이러한 함수를 사용하여 OLESTREAM 을 IStorage 로 변환하는 애플리케이션은 위험할 수 있습니다. 이러한 애플리케이션의 몇 가지 예는 Outlook, Word 및 WordPad입니다(RTF에 포함된 OLESTREAM을 변환하기 위해 이러한 두 함수를 위임하는 리치 편집 컨트롤을 통해).
취약성 완화
이 취약성의 위험이 있는 애플리케이션이 사용자 환경에 있는 경우 다음 단계에 따라 취약성을 완화합니다.
-
다음 레지스트리 하위 키를 사용하여 애플리케이션의 선택적 제외 목록을 사용하여 OLESTREAM 에서 연결된 개체의 변환을 사용하지 않도록 설정합니다.
경고 레지스트리 편집기나 다른 방법을 사용하여 레지스트리를 잘못 수정하면 심각한 문제가 발생할 수 있습니다. 이러한 문제를 해결하기 위해 운영 체제를 다시 설치해야 할 수도 있습니다. Microsoft는 이러한 문제에 대해 해결을 보증하지 않습니다. 레지스트리를 수정하는 데 따르는 위험은 사용자가 부담해야 합니다.
중요 이 하위 키를 만드는 것은 선택 사항입니다. 이 하위 키는 시스템에서 생성되지 않습니다. OLESTREAM에서 연결된 개체의 변환을 사용하지 않도록 설정해야 하는 경우 만들어야 합니다.
레지스트리 경로
값 이름
사용하지 않음
유형
DWORD
값 데이터
0x00000000 또는 0x00000001
참고 연결된 개체의 변환을 사용하도록 설정하려면 0x00000000 사용합니다. 연결된 개체의 변환을 사용하지 않도록 설정하려면 0x00000001 사용합니다. 레지스트리 하위 키가 레지스트리 경로에 정의된 경우 이 값 데이터는 0x00000000 또는 0x00000001 정의되어야 합니다.
레지스트리 경로
값 이름
ExclusionList
유형
REG_MULTI_SZ
값 데이터
Disabled 값이 0x00000001 설정될 때 제외해야 하는 애플리케이션의 .exe 파일의 이름입니다. 이러한 애플리케이션에서 연결된 개체의 변환은 Disabled 값이 0x00000001 설정된 경우에도 계속 사용할 수 있습니다. 이 취약성으로부터 안전하다고 알고 있는 애플리케이션을 목록에 추가할 수 있습니다. 예를 들어 Outlook.exe, Winword.exe, Wordpad.exe 추가할 수 있습니다. 이 값은 선택 사항입니다.
-
새 OLE32 API 및 리치 편집 컨트롤 메시지를 활용하여 애플리케이션의 취약성을 resolve. MSDN 문서의 API 및 메시지에 대한 세부 정보를 참조하세요.
추가된 API
개발자가 애플리케이션에서 잠재적인 취약성을 resolve 수 있도록 OLE32에 두 개의 새로운 API가 추가되었습니다.
이러한 두 API는 애플리케이션이 선택적 값 또는 콜백 함수를 전달할 수 있다는 점에서 원래 API와 다릅니다.
선택적 값은 OLESTREAM에 있는 연결된 개체의 변환을 사용하지 않도록 설정하는 데 사용할 수 있습니다. 예를 들어 애플리케이션은 이 선택적 값을 사용하여 문서 미리 보기 모드에서 연결된 개체의 변환을 사용하지 않도록 설정할 수 있습니다.
콜백 함수는 OLESTREAM 에 있는 연결된 개체를 사용하지 않도록 설정해야 하는 경우 애플리케이션을 쿼리할 수 있습니다. 애플리케이션은 콜백 함수에 의해 전달되는 연결된 개체에 대한 특정 정보를 사용하여 더 나은 결정을 내릴 수 있습니다. 예를 들어 애플리케이션은 연결된 파일이 신뢰할 수 있는 서버에 있는 경우에만 연결된 개체의 변환을 허용할 수 있습니다.
리치 편집 컨트롤 메시지 추가됨
개발자가 리치 편집 컨트롤을 사용하여 RTF를 처리하는 애플리케이션의 잠재적 취약성을 resolve 수 있도록 두 개의 새로운 Rich Edit Control 메시지가 추가되었습니다.
-
EM_SETDISABLEOLELINKCONVERSION 이 메시지는 리치 편집 컨트롤에 OLESTREAM에 포함된 연결된 개체의 변환을 사용하지 않도록 설정하는 데 사용할 수 있습니다.
-
EM_SETQUERYCONVERTOLELINKCALLBACK 이 메시지를 사용하여 리치 편집 컨트롤에 콜백 함수를 전달할 수 있습니다. 리치 편집 컨트롤은 콜백 함수를 사용하여 OLESTREAM 에 포함된 연결된 개체를 변환해야 하는지 여부를 쿼리합니다.
-