
CVE 재현: cve-2026-21509-office_security_bypass_reproduction
CVE-2026-21509는 Microsoft Office의 보안 기능 우회 취약점으로, 공격자가 보호된 보기(Protected View)와 OLE(개체 연결 및 포함) 완화 조치를 우회할 수 있게 합니다. 이 결함은 Office가 킬 비트(kill bit)를 검증하는 방식에 뿌리를 두고 있습니다. 킬 비트는 위험한 CLSID를 차단하도록 설계된 레지스트리 메커니즘입니다. 변경된 CLSID가 포함된 조작된 OLE 개체를 제공하거나 활성화 컨텍스트를 조작함으로써, 공격자는 Office가 차단되었어야 할 포함된 컨트롤을 신뢰하도록 속일 수 있습니다.
근본 원인: CWE-807 — 보안 결정에 신뢰할 수 없는 입력에 의존함. COM/OLE 개체에 대한 킬 비트 확인은 문서 수준의 재정의를 통해 공격자가 영향을 미칠 수 있는 데이터를 사용합니다. 구체적으로, 특정 Office 문서의 IDataObject 또는 IOleObject 구현은 킬 비트 조회를 공격자가 제어하는 레지스트리 경로로 리디렉션하거나 차단 목록을 완전히 우회하는 GUID를 제공할 수 있습니다.
공격 벡터:
| 제품 | 버전/빌드 |
|---|---|
| Office 2016 | KB5002711 이전의 모든 버전 |
| Office 2019 | KB5002712 이전의 모든 버전 |
| Office 2021 | KB5002713 이전의 모든 버전 |
exploit.py를 사용하여 악성 문서를 생성합니다:
python exploit.py --output malicious.doc --payload "calc.exe"
이 저장소의 exploit.py 스크립트는 다음과 같은 조작된 RTF/DOC 파일을 생성합니다:
{0002DF01-0000-0000-C000-000000000046}(DHTML Edit Control — 일반적으로
무기화되는 컨트롤)로 설정된 OLE 개체를 삽입합니다.\objdata 및 \object 그룹을 조작하여 활성화 중 킬 비트 조회를
우회합니다.⚠ 경고: 이 PoC는 공인된 보안 테스트용으로만 제공됩니다. 소유하지 않았거나 명시적 테스트 권한이 없는 시스템에 배포하지 마십시오.
보안 설정 > OLE 활성화 사용 안 함`.
| Office 2024 | KB5002714 이전의 모든 버전 |
| Microsoft 365 Apps | 2501(2026년 1월) 이전 빌드 |