Read the docs
TI-2026-83401 Aliases CVE-2026-62250

Unbounded allocation in LibreDWG pre-R13 DWG entity decoding

Priority LOW 24CWE-400Published · Updated

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

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00165 5th percentileScored 2026-11-07
Fix Fixed libredwg (LibreDWG): 0.14.8413

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

VendorProductAffected versionsFixed inStatusSource
LibreDWGlibredwgbefore 0.14.84130.14.8413Patch availableCNA
  • libredwg VendorLibreDWG Affected before 0.14.8413 Fixed in 0.14.8413 Patch available CNA

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

  1. 2026-10-30 Threatist record created from CVE-2026-62250
  2. 2026-10-30 CISA SSVC decision points changed
  3. 2026-10-30 Priority changed: MEDIUM → LOW

References

  • 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