CVE-2026-45785 Details
Description
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.
A denial-of-service vulnerability has been identified in OpenMcdf, a .NET library for manipulating Compound File Binary File Format files. In versions 3.1.3 and earlier, the 'DirectoryTree.TryGetDirectoryEntry' method can enter an infinite loop when processing a crafted CFB file with cyclic sibling links among directory entries. This loop bypasses the binary search tree order validation, leading to an unrecoverable hang. The issue can be triggered through several public APIs, including 'OpenStorage' and 'OpenStream', especially when used in conjunction with 'EnumerateEntries'.
Users can update to OpenMcdf version 3.1.4, which includes a patch for this vulnerability by enforcing binary search tree validation on all directory entry accesses.
Metrics
CVSS 4.0 Severity and Vector Strings:
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
Volerion
Assessed Jul 17, 2026CISA-ADP
Assessed Jul 21, 2026References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://github.com/openmcdf/openmcdf/security/advisories/GHSA-5qwm-7pvp-w988 | CISA-ADP | AdvisoryExploitRemedyVendor |
| https://github.com/openmcdf/openmcdf/commit/c6f82db722bd85db7b0caed3ca1aa374f1e07bc7 | [email protected] | Source CodeVendor |
| https://github.com/openmcdf/openmcdf/releases/tag/v3.1.4 | [email protected] | Release NotesVendor |
| https://github.com/openmcdf/openmcdf/security/advisories/GHSA-5qwm-7pvp-w988 | [email protected] | AdvisoryExploitRemedyVendor |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-835 | Loop with Unreachable Exit Condition ('Infinite Loop') | [email protected] |
Affected Products
| Product | Versions |
|---|---|
| OpenMcdf | <= 3.1.3 (semver) |
CPE
Remediation
| |
Change History
2 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Jul 21, 2026 | CVE Modified | CISA-ADP |
| Jul 17, 2026 | New CVE Received | [email protected] |
Volerion