[하루한줄] CVE-2020-16902: Windows Installer EoP

URL

SSD Advisory – Windows Installer Elevation of Privileges Vulnerability

Target

Windows Installer

Affected Versions

  • Windows 7
  • Windows 8
  • Windows 10
  • Windows 2008
  • Windows 2012
  • Windows 2016
  • Windows 2019

Explain

SSD Secure Disclosure program에 제보된 CVE-2020-16902입니다. Windows Installer는 소프트웨어의 설치, 관리, 제거에 사용되는 Windows 컴포넌트입니다. SetSecurity()의 race condition 문제로 인해 Windows installer는 패치와 패치 우회가 반복되고 있습니다. 지금 소개하는 CVE-2020-16902도 마찬가지입니다.

Windows Installer는 설치 스크립트를 실행하면서 두 가지 작업을 추가로 병행합니다. 설치 작업의 실패를 대비해 roll back script (.RBS)를 작성하고, 설치 작업 중 삭제되는 모든 파일들을 복제해 c:\Config.Msi에 저장합니다. .RBS를 작성하기 전에 특정 루틴을 거치는데, 아래와 같습니다.

1. Config.Msi 속 임시파일들을 생성
2. Config.Msi 삭제
3. Config.Msi 존재 여부 확인
4. Config.Msi 생성

3번 과정에서 Config.Msi 디렉토리가 여전히 존재한다면 SetSecurity()를 사용하는 코드가 실행되며 기존 취약점(CVE-2020-1302)이 그대로 다시 악용될 수 있습니다.