CVE-2026-62250 Details
Description
LibreDWG is a free C library to read and write DWG files. Prior to 0.14.8413, a crafted pre-R13 DWG can make `decode_preR13_entities()` in `src/decode.c` enter a nonterminating loop that allocates a new object each iteration. `decode_preR13` in `src/decode_r11.c` computes `size` from the raw file-controlled `entities_start` and `entities_end` header bounds; the callee clamps `end` to `dat->size` but never recalculates `size`. At `end` of input, `bit_read_RC` and `bit_read_RS` stop advancing `dat->byte`, the overflow guard fails because `end` equals `dat->size`, and the no-advance check compares against `oldpos` saved before the loop instead of the previous iteration. This leaves repeated allocation of `dwg->object` entries until allocation fails or the process is OOM-killed, not merely a constant-memory CPU hang. The defect remains after the clamping and no-progress changes associated with the earlier issue 1131. Applications and tools calling `dwg_read_file()` on untrusted files, including `dwg2dxf`, `dwgread` and `dwg2svg`, can suffer denial of service when a user or automated pipeline opens a malformed file; no attacker credentials are required. This issue is fixed in repository nightly version 0.14.8413.
A denial-of-service vulnerability has been identified in LibreDWG versions prior to 0.14.8413. The issue arises in the 'decode_preR13_entities()' function within 'src/decode.c', where a crafted pre-R13 DWG file can cause the function to enter a non-terminating loop. This loop allocates a new object in each iteration, leading to unbounded memory consumption. The problem is triggered by the 'entities_start' and 'entities_end' header values, which, if corrupted, can cause the function to miscalculate the size of entities to be processed. As a result, the function fails to properly validate input, allowing for excessive memory allocation until the process is killed by the operating system or runs out of memory. This vulnerability can be exploited by any application or tool that uses LibreDWG to read DWG files, such as 'dwg2dxf', 'dwgread', and 'dwg2svg', without requiring any special privileges or authentication.
Users can upgrade to LibreDWG version 0.14.8413 or later, where this vulnerability has been fixed.
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 Oct 30, 2026CISA-ADP
Assessed Oct 30, 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/LibreDWG/libredwg/commit/4e14952c43be5b8feff6e54a61af3425d6ca95a4 | [email protected] | Source CodeVendor |
| https://github.com/LibreDWG/libredwg/issues/1131 | [email protected] | ExploitIssue TrackingTechnical DescriptionVendor |
| https://github.com/LibreDWG/libredwg/releases/tag/0.14.8413 | [email protected] | Release NotesVendor |
| https://github.com/LibreDWG/libredwg/security/advisories/GHSA-7625-26gc-xqvp | [email protected] | AdvisoryExploitRemedyVendor |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-400 | Uncontrolled Resource Consumption | [email protected] |
| CWE-835 | Loop with Unreachable Exit Condition ('Infinite Loop') | [email protected] |
Affected Products
| Product | Versions |
|---|---|
| LibreDWG | <= 0.14 |
CPE
Remediation
| |
| LibreDWG dwg2dxf | All versions |
CPE
Remediation
| |
| LibreDWG dwgread | All versions |
CPE
Remediation
| |
| LibreDWG dwg2svg | All versions |
CPE
Remediation
| |
Change History
2 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Oct 30, 2026 | CVE Modified | CISA-ADP |
| Oct 30, 2026 | New CVE Received | [email protected] |
Volerion