🔍 CVE-2026-45785

6.2
CVSS Score
MEDIUM
2026-07-17
2026-07-23 18:12
✅ 완료

🇰🇷 한글 설명

OpenMcdf 3.1.3 및 이전 버전에서 BST 이름 조회 루프 내에 사이클 탐지 기능이 없어 발생하는 무한 루프 취약점입니다. 조작된 CFB 파일을 처리할 때 디렉토리 엔트리 간의 순환 참조가 발생하면 프로그램이 멈추는 서비스 거부(DoS) 상태에 빠집니다.

💡 쉬운 설명

특수하게 제작된 파일을 열려고 하면 프로그램이 끝없이 계산을 반복하다가 멈춰버리는 문제입니다. 이로 인해 프로그램이 응답하지 않게 되어 서비스를 이용할 수 없게 됩니다.

🇺🇸 원문 (English)

OpenMcdf is a fully .NET / C# library to manipulate Compound File Binary File Format files, also known as Structured Storage. In 3.1.3 and earlier, the BST name-lookup loop in DirectoryTree.TryGetDirectoryEntry (OpenMcdf/DirectoryTree.cs:35-46) walks directory entries by repeatedly calling directories.TryGetSibling(child, siblingType, validateColor). A crafted CFB file with cyclic Left/Right sibling links among directory entries, constructed so the per-step BST-order check in TryGetSibling (DirectoryEntries.cs:84-85) is satisfied at every step, drives this while (child is not null) loop forever. There is no cycle detection in TryGetDirectoryEntry, and the bug is reachable from RootStorage.OpenStorage(name), TryOpenStorage(name), OpenStream(name), and TryOpenStream(name), causing an unrecoverable denial of service. This issue is fixed in version 3.1.4.

📍 영향받는 시스템

OpenMcdf 3.1.3 및 그 이전 버전

⚔️ 공격 벡터

순환 참조 구조를 가진 조작된 CFB(Compound File Binary) 파일을 라이브러리를 통해 로드함

🛡️ 대응 방법

OpenMcdf를 3.1.4 이상의 버전으로 업데이트

🔧 검증 코드

출력된 OpenMcdf의 버전이 3.1.4 미만인지 확인

Shell / Script
dotnet list package | grep OpenMcdf

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

💻 영향받는 소프트웨어

.NET