Skip to main content

GNU LibreDWG CVE-2026-9529

| EUVDEUVD-2026-31788 LOW
NULL Pointer Dereference (CWE-476)
2026-05-26 VulDB GHSA-5ppw-fxgq-3w56
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 OS access (PR:L)
  2. Delivery
    Place crafted DWG file on target system
  3. Exploit
    Invoke dwggrep against crafted file
  4. Execution
    Trigger null pointer dereference in match_BLOCK_HEADER
  5. Impact
    Crash dwggrep process (availability impact)

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A10:2025 - Mishandling of Exceptional Conditions
ASVS 5.0
V16 - Security Logging and Error Handling Null pointer safety, defensive checks
MITRE ATT&CK

1 technique across 1 tactic: Impact

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 and low-level OS privileges (PR:L per CVSS vector) on the system where dwggrep is installed. Exploitation specifically requires the dwggrep utility to be invoked against an attacker-controlled or attacker-supplied DWG file - the vulnerable code path is in the match_BLOCK_HEADER function of dwggrep.c, not in the core LibreDWG parsing library. Systems that use LibreDWG as a library but do not execute the dwggrep binary against untrusted input are not exposed. No network access is required (AV:L). No user interaction beyond standard local execution is needed (UI:N). Exploitation is not automatable per SSVC, meaning it cannot be reliably triggered at scale without specific local file placement.

Impact

Real-world risk is low. CVSS 4.0 scores this at 1.9 (Very Low), constrained by local-only attack vector (AV:L), low privileges required (PR:L), and availability-only impact (VA:L with VC:N/VI:N). EPSS at 0.01% (2nd percentile) independently confirms minimal exploitation probability. SSVC categorizes exploitation as 'poc' (not active), automatable as 'no' (requires local file execution), and technical impact as 'partial' (availability only). The vulnerability is not listed in CISA KEV. The primary concern is a crash of the dwggrep command-line utility - there is no code execution, privilege escalation, or data exposure pathway indicated. The sole elevated signal is the existence of public exploit code. One discrepancy worth flagging: the exploit artifact referenced is named 'heap_oob_write_read' while the CVE classifies the bug as CWE-476 (null pointer dereference) - if the true bug class is heap OOB write/read, the actual severity could be higher than currently assessed. Defenders should verify this against GitHub issue #1247.

Exploit ScenarioDerived

A local user with standard account privileges places a crafted DWG file in a location processed by dwggrep - for example, in a shared directory monitored by an automated scan script. When dwggrep processes the file, match_BLOCK_HEADER dereferences a null pointer, causing the utility to crash and producing a denial of service for that process. A publicly available exploit artifact exists (referenced at the HackC0der CVE-Repos GitHub), though its naming as 'heap_oob_write_read' suggests the actual primitive may differ from the classified null pointer dereference.

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

Null pointer dereference in GNU LibreDWG's dwggrep utility crashes the application when processing a maliciously crafted DWG file. The vulnerability resides in the match_BLOCK_HEADER function within dwggrep.c and affects all tracked releases from version 0.1 through 0.14. A local authenticated attacker can exploit this to cause denial of service against the dwggrep utility; no publicly available exploit code exists for confidentiality or integrity compromise, consistent with the CVSS impact scores of VC:N/VI:N/VA:L. Publicly available exploit code exists (no KEV listing), though EPSS at 0.01% reflects negligible widespread exploitation probability.

RemediationAI

No vendor-released patch has been identified at time of analysis - no fixed version is referenced in any advisory, CPE data, or the upstream GitHub issue #1247. Organizations using GNU LibreDWG should monitor the upstream repository at https://github.com/LibreDWG/libredwg for a fix. As a compensating control, restrict use of the dwggrep utility to trusted, validated DWG files only - do not run dwggrep against untrusted or externally sourced DWG input, as the attack requires local execution of the tool against a crafted file. In automated pipelines that invoke dwggrep, consider sandboxing execution (e.g., via a restricted container or seccomp profile) to limit the blast radius of a crash to the isolated process. Since impact is limited to availability of the dwggrep utility (not the library itself), deployments that do not use dwggrep for DWG searching are not exposed to this specific attack path.

Affected VersionsENISA

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

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 for reading and writing DWG files, the native binary format used by AutoCAD. The dwggrep utility (dwggrep.c) provides grep-like searching within DWG files. The vulnerable function match_BLOCK_HEADER processes BLOCK_HEADER entities during this search. CWE-476 (NULL Pointer Dereference) indicates the function fails to validate a pointer before dereferencing it - likely when parsing a malformed or unexpected structure within a crafted DWG file - causing a null dereference and process crash. The CPE string cpe:2.3:a:gnu:libredwg:*:*:*:*:*:*:*:* with EUVD-confirmed affected versions spanning 0.1 through 0.14 suggests the root cause is a long-standing missing null check rather than a recent regression. Notably, the referenced POC file is named 'heap_oob_write_read' which conflicts with the CWE-476 null pointer classification - this discrepancy should be verified against the upstream GitHub issue #1247.

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:N/VI:N/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
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

1
CVSS changed
May 26, 2026 - 20:07 NVD
3.3 (LOW) 1.9 (LOW)

DescriptionCVE.org

A security flaw has been discovered in GNU LibreDWG up to 0.14. The affected element is the function match_BLOCK_HEADER of the file dwggrep.c of the component Dwggrep Utility. Performing a manipulation results in null pointer dereference. The attack requires a local approach. The exploit has been released to the public and may be used for attacks.

Threat Intelligence Overview

EPSS Score
0.0%
Top 98% exploitable
Exploit
POC
Public exploit code exists
Social Media
1
Sightings
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment CIRCL 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 null pointer dereference occurs when a program attempts to access memory through a pointer that has been set to NULL (address 0x0).

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

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