Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft malicious WPG file with i16=256, iNum16=264
-
DeliveryDeliver file to victim via email or download
-
ExploitVictim opens file in Dia
-
ExecutionWPG parser calls fread() past palette buffer end
-
PersistHeap metadata corrupted
-
ImpactProcess crash or attacker-controlled code execution
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 | Exploitation requires the victim to actively open a crafted WPG file using Dia - this can occur via the application's file dialog, a command-line invocation (dia file.wpg), or a registered desktop file association that launches Dia automatically when a .wpg file is double-clicked. The WPG import plug-in must be present and loadable, which is the default in standard Dia installations. No authentication, network access, or elevated privileges are required of the attacker; the attack surface is entirely within the file-parsing code path. The limiting factors are mandatory user interaction (the victim must open the file) and the local attack vector (the attacker must get the file to the victim's filesystem via a social-engineering vector such as email, web download, or shared drive). No special Dia configuration or non-default settings are required to trigger the overflow. |
| Impact | The CVSS 3.1 vector CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H scores 7.8 and accurately reflects the attack surface: exploitation is local and file-triggered rather than network-exposed, substantially lowering opportunistic reach. AC:L indicates that once a victim opens a crafted file the overflow fires reliably - no race conditions or complex heap grooming are required for a crash, though escalating to consistent code execution will depend on heap layout and platform allocator behavior. No EPSS data was supplied and the CVE is absent from the CISA KEV catalog, so widespread in-the-wild exploitation is not confirmed. The combination of confirmed reproducibility (reporter provided exact i16=256/iNum16=264 parameters tested on Dia 0.98+git20260221-1), low attack complexity, and high C/I/A impact makes this a genuine medium-high priority for any organization or user that routinely processes WPG diagrams - even a small IT team supporting legacy CAD or documentation workflows should treat this as urgent patching work once a fix is available. The absence of network reachability (AV:L) and mandatory user interaction (UI:R) meaningfully reduce mass-exploitation risk compared to the raw CVSS score might suggest. |
| Exploit ScenarioDerived | An attacker crafts a WPG file containing a COLORMAP record with i16=256 and iNum16=264, then delivers it to a target user via email attachment, download link, or shared network drive. When the victim opens the file through Dia's file dialog, command-line invocation, or a registered file association, the WPG parser calls fread() writing 792 bytes into a 768-byte heap buffer, corrupting adjacent heap metadata. On most Linux allocators this immediately triggers a SIGABRT or malloc corruption abort; with sufficient heap-layout knowledge an attacker may be able to redirect control flow and achieve arbitrary code execution in the context of the victim user. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 26, 2026
Heap-based buffer overflow in the Dia diagram editor's WPG file importer allows arbitrary code execution or process crash when a user opens a crafted WPG file. The WPG color palette buffer is allocated for exactly 256 entries (768 bytes), but the COLORMAP record parser fails to validate that the supplied start index (i16) or total entry count (iNum16) stay within that bound, allowing a malicious file to drive fread() to write beyond the heap allocation. Affecting all Dia versions on the upstream master branch through at least 2026-08-21, no public exploit or patch version has been confirmed at time of analysis, though the description provides sufficient detail to construct proof-of-concept input.
RemediationAI
No vendor-released patched version has been identified at time of analysis; upstream tracking is at GNOME GitLab issue #580 (https://gitlab.gnome.org/GNOME/dia/-/issues/580) and Red Hat Bugzilla #2520884 (https://bugzilla.redhat.com/show_bug.cgi?id=2520884). Until a patch is released, the most effective compensating control is to remove or disable the WPG plug-in shared library from Dia's plug-in directory, which prevents the vulnerable code path from loading entirely - the trade-off is loss of WPG file import capability. Administrators should also remove or override any desktop file-association entries that automatically open .wpg files with Dia, preventing accidental triggering via file manager double-click. Users should refrain from opening WPG files received from untrusted sources via Dia until a fix is available. Downstream distributors such as Fedora and Red Hat may issue patched packages independently of upstream; monitor the references above for updates.
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
Dia is a GNOME-based diagram editor (CPE cpe:2.3:a:gnome:dia:*:*:*:*:*:*:*:*) that supports the WPG (WordPerfect Graphics) format via a loadable plug-in at plug-ins/wpg/wpg-import.c. The WPG importer allocates a heap palette with g_new0(WPGColorRGB, 256), producing a 768-byte buffer (256 × 3 bytes per RGB entry). When processing a WPG_COLORMAP record it reads a 16-bit start index (i16) and entry count (iNum16) directly from the file and calls fread(&ren->pPal[i16], sizeof(WPGColorRGB), iNum16, f). The only bounds check, if (i16 >= 0 && i16 <= iSize), compares i16 against the WPG record's declared byte size - not the palette array's capacity - making it trivially bypassed. CWE-122 (Heap-based Buffer Overflow) applies directly: attacker-controlled file fields govern the write destination and length with no enforcement of the array boundary.
Know when Dia 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
AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
File-parsing attack requires local user to open the crafted file (AV:L, UI:R); attacker needs no system privileges to deliver it (PR:N); heap overflow yields full C/I/A impact.
Primary rating from Vendor (fedora).
CVSS VectorVendor: fedora
DescriptionCVE.org
A heap-based buffer overflow vulnerability exists in the Dia diagram editor WPG file format importer.
In plug-ins/wpg/wpg-import.c, the WPG import renderer allocates a fixed palette with:
ren->pPal = g_new0(WPGColorRGB, 256);
When handling a WPG_COLORMAP record, the parser reads a start index (i16) and number of colors (iNum16) from the file and reads palette data with:
bRet &= (iNum16 == (int)fread(&ren->pPal[i16], sizeof(WPGColorRGB), iNum16, f));
The only bounds-related check is if (i16 >= 0 && i16 <= iSize), where iSize is the WPG record size-not the palette capacity. There is no validation that i16 is less than 256 or that i16 + iNum16 does not exceed 256.
A malicious WPG file can supply i16=256 and iNum16=264. That causes fread() to write 792 bytes starting at &pPal[256], while the palette buffer is only 768 bytes (256 entries × 3 bytes). This overflows into adjacent heap metadata and can crash Dia (SIGABRT / malloc corruption errors) or, depending on heap layout and exploit primitives, potentially lead to arbitrary code execution.
Exploitation requires convincing a user to open a crafted WPG file via Dia's file dialog, command line, or file association. No special privileges are required to deliver the file to the victim.
Affected component: WPG parser (plug-ins/wpg/wpg-import.c). Affected versions: all Dia versions containing this code path (reporter tested Dia 0.98+git20260221-1; issue present on upstream master as of 2026-08-21).
Executive ViewAI
Dia diagram editor versions through 2026-08-21 contain a heap buffer overflow vulnerability in the WPG file importer that enables arbitrary code execution when users open malicious diagram files. This affects any organization where employees use Dia for technical documentation or design work, creating risk of unauthorized system access or data exfiltration through seemingly legitimate file sharing. No vendor-released patch identified at time of analysis.
Prohibit opening of WPG files from external or untrusted sources; implement email gateway rules to block .wpg attachments; restrict Dia access to users with documented business need; disable Dia on systems that do not require it; educate users not to open diagram files from unknown senders; monitor system logs for unusual Dia process behavior. While no public exploit identified at time of analysis, the vulnerability's reliance on user-opened files makes it suitable for social engineering or supply-chain attacks; supplement controls with file integrity validation and user awareness training.
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.
A heap overflow occurs when a program writes data beyond the bounds of a buffer allocated in the heap memory region.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
Stack-based buffer overflow in GNOME Dia diagram editor (0.98.0 and earlier) permits stack exhaustion and potential retu
When GNOME Dia before 2019-11-27 is launched with a filename argument that is not a valid codepoint in the current encod
Same weakness CWE-122 – Heap-based Buffer Overflow
View allVendor StatusVendor
SUSE
Severity: Important| Product | Status |
|---|---|
| SUSE Linux Enterprise Desktop 15 SP7 | Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP7 | Affected |
| SUSE Linux Enterprise Server 15 SP7 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Affected |
| SUSE Linux Enterprise Workstation Extension 15 SP7 | Affected |
| SUSE Linux Enterprise Server 15 SP4 | Affected |
| SUSE Linux Enterprise Server 15 SP5 | Affected |
| SUSE Linux Enterprise Server 15 SP6 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP4 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP5 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | Affected |
| SUSE Linux Enterprise Desktop 15 | Affected |
| SUSE Linux Enterprise Desktop 15 SP1 | Affected |
| SUSE Linux Enterprise Desktop 15 SP2 | Affected |
| SUSE Linux Enterprise Desktop 15 SP3 | Affected |
| SUSE Linux Enterprise Desktop 15 SP4 | Affected |
| SUSE Linux Enterprise Desktop 15 SP5 | Affected |
| SUSE Linux Enterprise Desktop 15 SP6 | Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP3 | Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP4 | Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP5 | Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP6 | Affected |
| SUSE Linux Enterprise Server 15 | Affected |
| SUSE Linux Enterprise Server 15 SP1 | Affected |
| SUSE Linux Enterprise Server 15 SP2 | Affected |
| SUSE Linux Enterprise Server 15 SP3 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP1 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP2 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP3 | Affected |
| SUSE Linux Enterprise Workstation Extension 15 | Affected |
| SUSE Linux Enterprise Workstation Extension 15 SP1 | Affected |
| SUSE Linux Enterprise Workstation Extension 15 SP2 | Affected |
| SUSE Linux Enterprise Workstation Extension 15 SP3 | Affected |
| SUSE Linux Enterprise Workstation Extension 15 SP4 | Affected |
| SUSE Linux Enterprise Workstation Extension 15 SP5 | Affected |
| SUSE Linux Enterprise Workstation Extension 15 SP6 | Affected |
| openSUSE Leap 15.3 | Affected |
| openSUSE Leap 15.4 | Affected |
| openSUSE Leap 15.5 | Affected |
| openSUSE Leap 15.6 | Affected |
EUVD-2026-66675
GHSA-w4q3-279c-xvrv
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB