Skip to main content

LibreCAD EUVDEUVD-2026-101234

| CVE-2026-110606 MEDIUM
Out-of-bounds Read (CWE-125)
2026-10-14 VulnCheck GHSA-v4r9-37cv-99h9
4.8
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Deliver crafted DWG file to victim
  2. Delivery
    Victim opens file in LibreCAD
  3. Exploit
    strlen reads non-NUL-terminated header buffer
  4. Execution
    Out-of-bounds stack read in readFileHeader
  5. Impact
    Process crashes (denial of service)

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

Exploitation requires a victim to open an attacker-supplied DWG file of version AC1018, AC1024, or AC1027 in LibreCAD or software linking libdxfrw; the file's decrypted header must be specially constructed to contain no NUL byte so that strlen() in dwgReader18::readFileHeader() runs off the end of a stack buffer. Limiting factors that reduce real-world risk: the attack vector is local (AV:L) and requires active user interaction (UI:P) - the malicious file must be delivered and manually opened - and the observed outcome is a process crash rather than code execution or confirmed data disclosure. No special non-default configuration is needed beyond opening an affected DWG version.

Impact

This is a genuinely low-to-moderate priority issue, not a top-tier emergency, and the signals are largely consistent. The official CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:L) scores 4.8 (MEDIUM) and tells a coherent story: exploitation is local and file-based, requires victim interaction (UI:P - opening a crafted file), and the only confirmed impact is availability (VA:L, a process crash). Critically, the vendor-assigned vector sets VC:N (no confidentiality impact) even though this is an out-of-bounds READ and is tagged 'Information Disclosure' - this is a notable tension: the strlen() over-read walks adjacent stack memory to compute a length rather than returning that memory to the attacker, so practical impact is a crash/DoS rather than reliable data exfiltration. No EPSS score, no KEV listing, and no explicit POC flag were provided in the input, so there is no evidence of active or automated exploitation; a detailed third-party technical write-up (hackmd) and a VulnCheck advisory exist, which lowers the research barrier but does not equal a weaponized exploit. There is no SSVC decision data in the input. Net: a real, patch-worthy memory-safety bug whose realistic worst case is crashing a desktop CAD application when a user opens a malicious drawing - prioritize normal patching, not emergency response.

Exploit ScenarioDerived

An attacker crafts a malicious AC1018, AC1024, or AC1027 DWG file whose decrypted header contains no NUL bytes and distributes it via email, a shared drawing repository, or a download. When a victim opens the file in LibreCAD (or any application using libdxfrw), dwgReader18::readFileHeader() calls strlen() on the non-terminated buffer, reading past the end of the stack buffer and crashing the process. A public technical write-up describing the flaw exists, but the input provides no evidence of a weaponized public exploit or active exploitation.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 14, 2026

Opening a specially crafted DWG file (versions AC1018, AC1024, or AC1027) in LibreCAD or any application linking libdxfrw can trigger a stack-based out-of-bounds read in dwgReader18::readFileHeader(), which calls strlen() on a decrypted header buffer that is not guaranteed to be NUL-terminated; the read walks past the end of the stack buffer and typically crashes the process. The issue affects libdxfrw through LC2.2.0 and LibreCAD through 2.2.1.5, and exploitation is local, requiring the victim to manually open the malicious drawing (CVSS 4.0 base 4.8; assessed CVSS 3.1 AV:L/AC:L/PR:N/UI:R with availability-only impact). There is no confirmed active exploitation (CISA KEV) and no public exploit identified at time of analysis, and the observed outcome is a denial of service rather than code execution or confirmed information disclosure. Upstream fixes have been committed to both the libdxfrw and LibreCAD repositories, though a tagged patched release has not been independently confirmed.

RemediationAI

Apply the upstream fixes: libdxfrw commit 0c5595930b20917a40ed7c188475eaca624b8ce9 (https://github.com/LibreCAD/libdxfrw/commit/0c5595930b20917a40ed7c188475eaca624b8ce9) and the corresponding LibreCAD commit abd1f4a8e32dbd871c986086227502217200cd4b (https://github.com/LibreCAD/LibreCAD/commit/abd1f4a8e32dbd871c986086227502217200cd4b); note that this is an upstream fix available as a PR/commit, and a released patched version (beyond 2.2.1.5 / LC2.2.0) has not been independently confirmed, so verify the tag or rebuild from the fixed revision before relying on it. If upgrading is not immediately possible, the practical compensating controls are to avoid opening untrusted AC1018/AC1024/AC1027 DWG files and to pre-screen incoming drawings in an isolated environment or converter before loading them in LibreCAD - the trade-off is loss of convenient direct viewing and added workflow friction for legitimate files. Additionally, run LibreCAD with least privilege and in a sandbox or container where a process crash and stack-adjacent memory exposure are contained; this does not prevent the crash, but limits any collateral impact. Finally, block or strip the strongest static DOS primitives (stripped-out in any case) - realistic trade-offs are workable, but the authoritative fix is the upstream commit; note that these workarounds mitigate rather than eliminate the out-of-bounds read.

Affected VersionsENISA

libdxfrw 0 ≤LC2.2.0
LibreCAD 0 ≤2.2.1.5

Affected Packages

euvd librecad 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

libdxfrw is the open-source DWG/DXF read-write library embedded in LibreCAD and reused by other CAD-adjacent tools; CPE data identifies both cpe:2.3:a:librecad:libdxfrw and cpe:2.3:a:librecad:librecad as affected, meaning the flaw lives in the shared library and propagates to anything that links it. The vulnerable code is dwgReader18::readFileHeader() (referenced at src/intern/dwgreader18.cpp line 248 in both the standalone libdxfrw LC2.2.0 tree and the vendored copy under LibreCAD v2.2.1.5), which handles the newer DWG format family: AC1018 (DWG 2004), AC1024 (DWG 2007), and AC1027 (DWG 2013). These formats store the file header in an encrypted/obfuscated section that the reader decrypts into a local buffer before parsing it; the code then treats that buffer as a C string and calls strlen() to locate its end, assuming a terminating NUL byte is present. Because the crafted file can be constructed so that the decrypted header contains no NUL byte at all, strlen() continues reading past the boundary of the stack buffer - a classic CWE-125 out-of-bounds read - which can consume adjacent stack memory and lead to a crash. The root cause is a length-assumption error rather than memory corruption on write, and the upstream commits (libdxfrw 0c5595930b20917a40ed7c188475eaca624b8ce9 and LibreCAD abd1f4a8e32dbd871c986086227502217200cd4b) address the parsing path accordingly; the accompanying changesets largely add qualification and DWG/DXF verification test lanes to guard the reader against regression.

Know when Librecad 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 (VulnCheck) PRIMARY 4.8 MEDIUM
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
vuln.today AI 3.3 LOW

File-based parsing flaw so AV:L and UI:R (user opens crafted file), no auth needed (PR:N); impact is a crash only, so C:N/I:N/A:L.

3.1 AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L
4.0 AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

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

DescriptionCVE.org

LibreCAD libdxfrw through LC2.2.0 (LibreCAD through 2.2.1.5) contains a stack-based out-of-bounds read vulnerability in dwgReader18::readFileHeader() caused by calling strlen on non-NUL-terminated buffers. Attackers can supply a crafted AC1018, AC1024 or AC1027 DWG file without NUL bytes in the decrypted header to read adjacent stack memory and crash the process.

Threat Intelligence Overview

EPSS Score
0.2%
Top 94% exploitable
Prevalence
Medium
Popular open-source 2D CAD app and shared DWG parsing library
Data Quality
5 sources
Confidence: Medium

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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

24
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +24
PoC: 0
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.

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

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