Skip to main content

GNU LibreDWG CVE-2026-9504

| EUVDEUVD-2026-31745 LOW
Out-of-bounds Read (CWE-125)
2026-05-25 VulDB GHSA-7fc3-9hrj-6779
1.9
CVSS 4.0 · Vendor: VulDB

Severity by source

Vendor (VulDB) PRIMARY
1.9 LOW
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

Primary rating from Vendor (VulDB) · only source for this CVE.

CVSS VectorVendor: VulDB

CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
X

Lifecycle Timeline

3
Source Code Evidence Fetched
Jun 08, 2026 - 13:00 vuln.today
Analysis Generated
Jun 08, 2026 - 13:00 vuln.today
CVSS changed
May 26, 2026 - 16:22 NVD
3.3 (LOW) 1.9 (LOW)

DescriptionCVE.org

A weakness has been identified in GNU LibreDWG up to 0.14. Affected is the function bit_convert_TU of the file programs/dwggrep.c of the component Dwggrep Utility. This manipulation causes out-of-bounds read. The attack needs to be launched locally. The exploit has been made available to the public and could be used for attacks. Patch name: be996bf2178a40e98720f18c2414815d244413db. Applying a patch is the recommended action to fix this issue.

AnalysisAI

Out-of-bounds read in GNU LibreDWG's dwggrep utility exposes heap memory when processing maliciously crafted DWG files containing LTYPE objects with unterminated wide-character dash text strings. Affected versions span 0.1 through 0.14 (CPE: cpe:2.3:a:gnu:libredwg). A local authenticated attacker can trigger partial information disclosure by supplying a crafted DWG file to the dwggrep command-line tool; a public proof-of-concept DWG payload exists, though EPSS of 0.01% (2nd percentile) and absence from CISA KEV indicate no widespread exploitation activity at time of analysis.

Technical ContextAI

GNU LibreDWG is an open-source C library for reading and writing AutoCAD DWG binary drawing files. The dwggrep utility (programs/dwggrep.c) searches DWG files for text patterns and, for R2007+ format files, must convert UTF-16LE wide-character strings (BITCODE_TU) to UTF-8 via the bit_convert_TU function in src/bits.c. The root cause (CWE-125, Out-of-bounds Read) is that the original MATCH_OBJECT macro call in match_LTYPE processed LTYPE object dash text entries using the unbounded bit_convert_TU without enforcing the boundary of the strings_area buffer. A DWG file can supply an LTYPE dash text pointer that is not null-terminated within the allocated strings_area, causing bit_convert_TU to walk past the buffer end. The fix introduces a bounded variant, bit_convert_TU_len, which accepts a max_wchars parameter derived from the distance between the text pointer and the end of strings_area, and returns NULL if no null terminator is found within that range. This change is applied only to the R2007+ code path; pre-R2007 files use a separate branch that processes plain char strings and is unaffected.

RemediationAI

The upstream fix is available as commit be996bf2178a40e98720f18c2414815d244413db in the LibreDWG GitHub repository (https://github.com/LibreDWG/libredwg/commit/be996bf2178a40e98720f18c2414815d244413db). No tagged release version incorporating this fix has been independently confirmed - the fix exists at commit level only, so users should build from source at or after this commit. Downstream package maintainers should backport the patch to their packaged versions. As a compensating control, restrict use of the dwggrep utility to trusted DWG files only, as the vulnerability is triggered exclusively through dwggrep processing of attacker-supplied input. Disabling or removing the dwggrep binary entirely eliminates the attack surface without affecting the core LibreDWG library functionality used by other applications. This workaround has no impact on applications that use libdwg directly rather than the dwggrep utility.

CVE-2022-35164 CRITICAL POC
9.8 Aug 18

LibreDWG v0.12.4.4608 & commit f2dea29 was discovered to contain a heap use-after-free via bit_copy_chain. Rated critica

CVE-2021-28237 CRITICAL POC
9.8 Dec 02

LibreDWG v0.12.3 was discovered to contain a heap-buffer overflow via decode_preR13. Rated critical severity (CVSS 9.8),

CVE-2020-21844 HIGH POC
8.8 May 17

GNU LibreDWG 0.10 is affected by: memcpy-param-overlap. Rated high severity (CVSS 8.8), this vulnerability is remotely e

CVE-2019-9775 CRITICAL POC
9.1 Mar 14

An issue was discovered in GNU LibreDWG 0.7 and 0.7.1645. Rated critical severity (CVSS 9.1), this vulnerability is remo

CVE-2019-9774 CRITICAL POC
9.1 Mar 14

An issue was discovered in GNU LibreDWG 0.7 and 0.7.1645. Rated critical severity (CVSS 9.1), this vulnerability is remo

CVE-2020-21833 HIGH POC
8.8 May 17

A heap based buffer overflow vulnerability exits in GNU LibreDWG 0.10 via: read_2004_section_classes ../../src/decode.c:

CVE-2020-21841 HIGH POC
8.8 May 17

A heap based buffer overflow vulnerability exits in GNU LibreDWG 0.10 via bit_read_B ../../src/bits.c:135. Rated high se

CVE-2020-21840 HIGH POC
8.8 May 17

A heap based buffer overflow vulnerability exits in GNU LibreDWG 0.10 via bit_search_sentinel ../../src/bits.c:1985. Rat

CVE-2020-21838 HIGH POC
8.8 May 17

A heap based buffer overflow vulnerability exits in GNU LibreDWG 0.10 via: read_2004_section_appinfo ../../src/decode.c:

CVE-2020-21843 HIGH POC
8.8 May 17

A heap based buffer overflow vulnerability exits in GNU LibreDWG 0.10 via bit_read_RC ../../src/bits.c:318. Rated high s

CVE-2020-21842 HIGH POC
8.8 May 17

A heap based buffer overflow vulnerability exists in GNU LibreDWG 0.10 via read_2004_section_revhistory ../../src/decode

CVE-2020-21832 HIGH POC
8.8 May 17

A heap based buffer overflow vulnerability exists in GNU LibreDWG 0.10 via read_2004_compressed_section ../../src/decode

Share

CVE-2026-9504 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy