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