Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessGain local OS access (PR:L)
-
DeliveryCraft R2007+ DWG file with malformed LTYPE dash text
-
ExploitSupply crafted file to dwggrep execution
-
ExecutionTrigger unbounded bit_convert_TU read past strings_area
-
ImpactLeak partial adjacent heap memory contents
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, read limits
MITRE ATT&CK
1 technique across 1 tactic: Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The attacker must have local access to the system with at least low-privilege OS credentials (CVSS PR:L, AV:L). The dwggrep utility must be installed and invoked - either directly by the attacker or by an automated pipeline - against a maliciously crafted DWG file. The crafted file must be in R2007-or-later DWG format, contain an LTYPE object with dashes entries, and have a dash text pointer referencing a wide-character string that is not null-terminated within the bounds of the strings_area buffer. Pre-R2007 DWG files do not trigger the vulnerable code path. Exploitation is not automatable (SSVC: no) - there is no network-facing attack surface; dwggrep is a local command-line tool with no daemon or service mode. The impact is limited to reading partial heap contents (VC:L); no privilege escalation, remote code execution, or persistent access is achievable through this vector alone. |
| Impact | Real-world risk is very low across all available signals. The CVSS 4.0 score of 1.9 with vector AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N reflects local-only access with low privilege requirement and impact limited to partial confidentiality loss - no integrity or availability impact is indicated. EPSS at 0.01% (2nd percentile) aligns with the low CVSS, suggesting near-zero probability of exploitation in the 30-day window. The vulnerability is not listed in CISA KEV, confirming no confirmed active exploitation. SSVC designates exploitation as poc-only, technical impact as partial, and automatable as no - meaning automated mass exploitation is not feasible. The limiting factors stack: attacker must have local OS access, must be able to supply a crafted DWG file to the dwggrep process, and the impact is read-only heap memory leakage rather than code execution. The public POC is a crafted DWG file (not a weaponized exploit framework), consistent with researcher-grade disclosure rather than opportunistic exploitation. The tags 'Buffer Overflow' from VulDB appear to be a labeling imprecision - the CVSS vector, CWE-125, and commit diff all confirm an out-of-bounds read, not a write/overflow that could achieve code execution. |
| Exploit ScenarioDerived | An attacker with local OS access places a specially crafted DWG file containing an LTYPE object whose R2007+ dash text field points to a wide-character string that is not null-terminated within the strings_area buffer, then induces a user or automated process to run dwggrep against the file. The original unbounded bit_convert_TU call reads beyond the strings_area allocation, potentially leaking a small number of adjacent heap bytes into output or accessible memory. A public proof-of-concept DWG payload demonstrating this behavior is available at https://github.com/HackC0der/CVE-Repos/blob/main/libredwg/libredwg_6d6a339_heap_overflow_bit_convert_TU.dwg. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 08, 2026
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.
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.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
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.
Know when Libredwg gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
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
Primary rating from Vendor (VulDB) · only source for this CVE.
CVSS VectorVendor: VulDB
Lifecycle Timeline
1DescriptionCVE.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.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
LibreDWG v0.12.4.4608 & commit f2dea29 was discovered to contain a heap use-after-free via bit_copy_chain. Rated critica
LibreDWG v0.12.3 was discovered to contain a heap-buffer overflow via decode_preR13. Rated critical severity (CVSS 9.8),
GNU LibreDWG 0.10 is affected by: memcpy-param-overlap. Rated high severity (CVSS 8.8), this vulnerability is remotely e
An issue was discovered in GNU LibreDWG 0.7 and 0.7.1645. Rated critical severity (CVSS 9.1), this vulnerability is remo
An issue was discovered in GNU LibreDWG 0.7 and 0.7.1645. Rated critical severity (CVSS 9.1), this vulnerability is remo
A heap based buffer overflow vulnerability exits in GNU LibreDWG 0.10 via: read_2004_section_classes ../../src/decode.c:
A heap based buffer overflow vulnerability exits in GNU LibreDWG 0.10 via bit_read_B ../../src/bits.c:135. Rated high se
A heap based buffer overflow vulnerability exits in GNU LibreDWG 0.10 via bit_search_sentinel ../../src/bits.c:1985. Rat
A heap based buffer overflow vulnerability exits in GNU LibreDWG 0.10 via: read_2004_section_appinfo ../../src/decode.c:
A heap based buffer overflow vulnerability exits in GNU LibreDWG 0.10 via bit_read_RC ../../src/bits.c:318. Rated high s
A heap based buffer overflow vulnerability exists in GNU LibreDWG 0.10 via read_2004_section_revhistory ../../src/decode
A heap based buffer overflow vulnerability exists in GNU LibreDWG 0.10 via read_2004_compressed_section ../../src/decode
EUVD-2026-31745
GHSA-7fc3-9hrj-6779
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB