Unbounded allocation in LibreDWG pre-R13 DWG entity decoding
Key facts
- Attack vector
- Local
- Privileges required
- None
- User interaction
- Required
- Attack complexity
- Low
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-400.
Summary
LibreDWG versions before 0.14.8413 are affected. A crafted pre-R13 DWG file causes the decode_preR13_entities() function to loop without ending while it allocates a new object each iteration, because the loop never advances past the end of the input (CWE-835). An unauthenticated attacker can exhaust memory and crash the process when a user or automated pipeline opens the malformed file with tools such as dwgread or dwg2dxf.
Written with Claude Haiku 5.5 from the sources below · 2026-11-05
Description from the CNA
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
Update LibreDWG to version 0.14.8413, which fixes the issue.
Written with Claude Haiku 5.5 from the sources below · 2026-11-05
- Fix · CNA libredwg (LibreDWG) Fixed in 0.14.8413
Timeline
- 2026-10-30 Threatist record created from CVE-2026-62250
- 2026-10-30 CISA SSVC decision points changed
- 2026-10-30 Priority changed: MEDIUM → LOW
References
More LibreDWG vulnerabilities
- TI-2026-83400 Const input modified and crash in LibreDWG bit_TV_to_utf8 CVSS 3.1LOW 3.3
- TI-2026-83387 Excessive memory reallocation in LibreDWG DWG class decoding CVSS 3.1MEDIUM 5.5
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences