low · CVSS v3 3.3 · EPSS 0.00118

CVE-2026-54610

LibreDWG's bit_TV_to_utf8() can write to caller-provided buffer, causing segmentation faults or unintended data modification. The flaw exist

Overview

LibreDWG's bit_TV_to_utf8() can write to caller-provided buffer, causing segmentation faults or unintended data modification. The flaw exists in versions before 0.14 and may lead to denial of service or data integrity issues when processing untrusted DWG files.

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.

Impact

Availability: the library can crash, denying service. Integrity: attacker may alter data returned to the caller. Confidentiality: unlikely to leak data directly, but corrupted data could lead to misinterpretation. Impacted parties: any application that uses LibreDWG to read or write DWG files from untrusted sources, such as CAD viewers, converters, or web services.

Remediation

Upgrade LibreDWG to version 0.14 or later. If upgrade is not possible, validate that input buffers are writable and not read-only, enforce size limits, and consider running the library in a sandboxed environment. Monitor for crashes and apply patches promptly.

Risk context

The CVE has a low severity score (3.3) and a very low EPSS of 0.00118, indicating a low likelihood of exploitation in the wild. Nonetheless, the impact on availability warrants timely patching.

Affected products

  • LibreDWG

Scores

Severity
low
CVSS v2
2.1
CVSS v3
3.3
CVSS v4
—
EPSS
0.00118

libredwg denial-of-service buffer-overwrite untrusted-input segfault patch low-severity

← All CVEs