CVE Catalog

CVE-2026-45785

MediumCVSS 6.2
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.13%

3th percentile - higher than 3% of all known CVEs

Summary

OpenMcdf library version 3.1.3 and earlier has a loop without cycle detection in DirectoryTree.TryGetDirectoryEntry. A crafted CFB file with cyclic Left/Right sibling links can cause an infinite loop, leading to an unrecoverable denial of service (DoS). The bug is reachable from RootStorage.OpenStorage, TryOpenStorage, OpenStream, and TryOpenStream methods.

Risk Assessment

An attacker can remotely crash an application using OpenMcdf to process malicious CFB files, resulting in service disruption.

Recommendation

Immediately update OpenMcdf to version 3.1.4, which contains the fix for this vulnerability.

Related vulnerabilities

Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS