Skip to main content

GNU LibreDWG CVE-2026-9500

| EUVDEUVD-2026-31732 LOW
Heap-based Buffer Overflow (CWE-122)
2026-05-25 VulDB GHSA-hh47-vf3p-8vq5
1.9
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Gain local low-privilege access to target system
  2. Delivery
    Prepare or obtain crafted malicious DWG file
  3. Exploit
    Invoke dwgread against malicious DWG file
  4. Execution
    Trigger heap OOB write in read_2004_compressed_section
  5. Impact
    Achieve partial confidentiality, integrity, or availability impact on vulnerable process

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Heap buffer bounds checking
MITRE ATT&CK

1 technique across 1 tactic: Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Local system access is required (AV:L); remote network-based exploitation is not possible for this vulnerability. The attacker must hold low-level local privileges (PR:L) but does not require administrative or root access, and no user interaction is required (UI:N). The specific triggering condition is that the dwgread utility or a LibreDWG-consuming application must be invoked to parse a specially crafted DWG file containing a malformed 2004-format compressed section. Exploitation is limited by the mandatory local access constraint, which eliminates all network-based attack scenarios. The SSVC non-automatable signal further confirms that mass or scripted exploitation is not feasible. Impact is scoped entirely to the vulnerable process - no subsequent system or cross-process impact is expected per CVSS scope metrics (SC:N, SI:N, SA:N).

Impact

Overall risk is low in absolute terms but contextually relevant for environments that process untrusted DWG files. The CVSS 4.0 score of 1.9 reflects a local-only attack vector (AV:L), low required privileges (PR:L), and only partial impact limited to the vulnerable system with no scope change to subsequent systems (SC:N, SI:N, SA:N). The EPSS score of 0.01% at the 2nd percentile confirms very low observed exploitation probability in the wild. The SSVC framework rates exploitation at 'poc' level, the attack as non-automatable, and technical impact as partial - all consistent with a low-priority finding in most environments. A proof-of-concept exploit file is publicly available on GitHub (E:P supplemental signal), which lowers the attacker skill bar, but the mandatory local access requirement significantly constrains the realistic threat surface. This vulnerability is not listed in the CISA KEV catalog. No conflict between CVSS signals and the description was identified: the local attack vector is explicitly corroborated by the description text. The primary elevated-risk scenario is automated CAD file processing pipelines where semi-trusted or external users can submit DWG files for local parsing.

Exploit ScenarioDerived

A local attacker with low-level system privileges crafts or obtains a malicious DWG file - a working proof-of-concept is publicly available at https://github.com/HackC0der/CVE-Repos/blob/main/libredwg/libredwg_6d6a339_heap_oob_write_read_2004_compressed_section.dwg - and submits it to a system where dwgread or a LibreDWG-based application processes it. During parsing of the DWG 2004 compressed section, the read_2004_compressed_section function writes out-of-bounds on the heap, corrupting adjacent memory with limited but measurable impact on confidentiality, integrity, and availability of the affected process.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
No patch listed yet 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jun 08, 2026

Heap-based buffer overflow in GNU LibreDWG's read_2004_compressed_section function (src/decode.c) exposes users of the dwgread utility to partial confidentiality, integrity, and availability compromise when processing a maliciously crafted DWG file. All released versions from 0.1 through 0.14 are affected, and a publicly available proof-of-concept exploit file exists on GitHub. No vendor patch has been issued; the project has not responded to the responsible disclosure despite early notification via issue report.

RemediationAI

No vendor-released patch has been identified at time of analysis; the LibreDWG project maintainers have not responded to the disclosure as reported in GitHub issue https://github.com/LibreDWG/libredwg/issues/1241. As a primary compensating control, restrict invocation of dwgread and any LibreDWG-consuming application to processing only trusted, internally-generated DWG files - do not parse DWG input from untrusted, external, or user-supplied sources. If LibreDWG is deployed within an automated file processing pipeline that ingests external DWG files, sandbox or containerize the dwgread process using OS-level controls such as seccomp profiles, AppArmor policies, or a dedicated low-privilege container to limit heap corruption impact; note this adds operational overhead but constrains potential privilege escalation. Monitor the upstream repository and issue tracker at https://github.com/LibreDWG/libredwg/issues/1241 for a maintainer response or patch commit. Organizations with significant exposure to this attack surface should evaluate migration to an actively maintained DWG parsing alternative.

Affected VersionsENISA

libredwg 0.13
libredwg 0.4
libredwg 0.11
libredwg 0.6
libredwg 0.8
libredwg 0.1
libredwg 0.7
libredwg 0.12
libredwg 0.2
libredwg 0.9
libredwg 0.10
libredwg 0.14
libredwg 0.3
libredwg 0.5

Affected Packages

euvd libredwg no fix

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 and toolset for reading and writing AutoCAD DWG binary files (CPE: cpe:2.3:a:gnu:libredwg:*:*:*:*:*:*:*:*). The vulnerability is classified as CWE-122 (Heap-based Buffer Overflow) and is located in the read_2004_compressed_section function within src/decode.c, which is responsible for decompressing section data stored in the DWG 2004 file format. When this function processes a malformed or adversarially crafted compressed section, it writes beyond the bounds of a heap-allocated buffer, corrupting adjacent heap memory. The attack surface is the dwgread command-line utility, which invokes this parsing logic directly on user-supplied DWG files. The root cause is insufficient bounds checking during decompression of DWG 2004 section payloads.

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

Vendor (VulDB) PRIMARY 1.9 LOW
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P

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

CVSS VectorVendor: VulDB

Attack Vector
Local
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
Low
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Severity Changed
May 26, 2026 - 14:22 NVD
MEDIUM LOW
CVSS changed
May 26, 2026 - 14:22 NVD
5.3 (MEDIUM) 1.9 (LOW)

DescriptionCVE.org

A vulnerability was found in GNU LibreDWG up to 0.14. The affected element is the function read_2004_compressed_section of the file src/decode.c of the component Dwgread Utility. Performing a manipulation results in heap-based buffer overflow. The attack is only possible with local access. The exploit has been made public and could be used. The project was informed of the problem early through an issue report but has not responded yet.

Threat Intelligence Overview

EPSS Score
0.0%
Top 98% exploitable
Exploit
POC
Public exploit code exists
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

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.

SignalValue
Severity LOW
CISA KEV No
Public POC Yes
EPSS 0.0%
Patch available No
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation
Poc
System Exposure· derived
Small
Automatable
No
Human Impact· derived
Low
Technical Impact
Partial

Priority Score

30
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +10
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

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.

A heap overflow occurs when a program writes data beyond the bounds of a buffer allocated in the heap memory region.

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

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