Skip to main content

Dia CVE-2026-77652

| EUVDEUVD-2026-66675 HIGH
Heap-based Buffer Overflow (CWE-122)
2026-08-26 fedora GHSA-w4q3-279c-xvrv
7.8
CVSS 3.1 · Vendor: fedora
View

Attack ChainAIDerived

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

  1. Access
    Craft malicious WPG file with i16=256, iNum16=264
  2. Delivery
    Deliver file to victim via email or download
  3. Exploit
    Victim opens file in Dia
  4. Execution
    WPG parser calls fread() past palette buffer end
  5. Persist
    Heap metadata corrupted
  6. Impact
    Process 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – 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

Dia 0 ≤0.98+git20260221-1

Affected Packages

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

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

Vendor (fedora) PRIMARY 7.8 HIGH
AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
vuln.today AI 7.8 HIGH

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.

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

Primary rating from Vendor (fedora).

CVSS VectorVendor: fedora

Attack Vector
Local
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

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

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
0.2%
Top 95% exploitable
Prevalence
Low
niche open-source diagram editor, limited enterprise deployment
Social Media
1
Sightings
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment Vendor CIRCL 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 HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Scheduled
Exploitation
Poc
System Exposure· derived
Small
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

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

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.

Vendor 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

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