Description
LibreDWG is a free C library to read and write DWG files. Prior to 0.14, `bit_TV_to_utf8()` in `src/bits.c` can write to the caller-provided `src` buffer despite accepting const input. On an `iconv()` error other than `E2BIG`, the function frees its output buffer and passes the original input alias to `bit_u_expand()`, which expands or shrinks Unicode and multibyte escape sequences in place. If the input is a string literal, read-only mapping, or other immutable buffer, the write can cause a segmentation fault and denial of service; mutable caller-owned input can be unexpectedly modified before being returned. This affects applications that expose the conversion API to untrusted input under those conditions. Direct file-triggered exploitability through normal DWG decode/export paths remains unconfirmed because many TV strings are heap allocated by bit_read_TV(). This issue is fixed in version 0.14.
Published: 2026-10-30
Score: 3.3 Low
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

No analysis available yet.

Remediation

No remediation available yet.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 30 Oct 2026 21:45:00 +0000

Type Values Removed Values Added
First Time appeared Libredwg
Libredwg libredwg
Vendors & Products Libredwg
Libredwg libredwg

Fri, 30 Oct 2026 20:45:00 +0000

Type Values Removed Values Added
Description LibreDWG is a free C library to read and write DWG files. Prior to 0.14, `bit_TV_to_utf8()` in `src/bits.c` can write to the caller-provided `src` buffer despite accepting const input. On an `iconv()` error other than `E2BIG`, the function frees its output buffer and passes the original input alias to `bit_u_expand()`, which expands or shrinks Unicode and multibyte escape sequences in place. If the input is a string literal, read-only mapping, or other immutable buffer, the write can cause a segmentation fault and denial of service; mutable caller-owned input can be unexpectedly modified before being returned. This affects applications that expose the conversion API to untrusted input under those conditions. Direct file-triggered exploitability through normal DWG decode/export paths remains unconfirmed because many TV strings are heap allocated by bit_read_TV(). This issue is fixed in version 0.14.
Title LibreDWG: const-input mutation and crash in bit_TV_to_utf8 error handling
Weaknesses CWE-471
CWE-703
References
Metrics cvssV3_1

{'score': 3.3, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L'}


Subscriptions

Libredwg Libredwg
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-30T20:39:19.805Z

Reserved: 2026-06-15T19:45:23.540Z

Link: CVE-2026-54610

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-30T21:16:57.520

Modified: 2026-10-30T21:16:57.520

Link: CVE-2026-54610

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-30T21:30:11Z

Weaknesses
  • CWE-471

    Modification of Assumed-Immutable Data (MAID)

  • CWE-703

    Improper Check or Handling of Exceptional Conditions