High severity · published Aug 26, 2026
CVE-2026-77658
Dia: dia: stack buffer overflow in bus object via unvalidated handle count in project files
7.8
CVSS
0.2%
EPSS
No
On KEV
Description
A stack-based buffer overflow vulnerability exists in the Dia diagram editor when processing Network Bus objects from Dia XML project files.
In objects/network/bus.c, bus_load() reads the number of bus handles from the file attribute "bus_handles" using attribute_num_data() without validating an upper bound:
bus->num_handles = attribute_num_data(attr);
When a bus handle is subsequently moved, bus_handle_moved() allocates two temporary arrays on the stack:
parallel = (real *)g_alloca(num_handles * sizeof(real));
perp = (real *)g_alloca(num_handles * sizeof(real));
Because num_handles is fully attacker-controlled via the project file, sufficiently large values (for example 262144 or higher) cause g_alloca() to consume more stack space than the default thread stack limit (typically 8 MB on Linux), resulting in stack overflow, SIGSEGV, and potential stack frame / return-address corruption.
An attacker can embed a Bus object with an excessive bus_handles count in a malicious .dia file. Exploitation requires the victim to open the file in Dia (file dialog, command line, or file association) and trigger handle manipulation (moving a bus handle), which exercises the vulnerable code path.
The identical g_alloca pattern is present in objects/Misc/tree.c (copied from bus.c) and is likely vulnerable to the same class of attack via Tree objects.
Affected versions: Dia 0.98.0 and earlier versions containing this code; issue confirmed on upstream master as of 2026-08-21.
Upstream report: https://gitlab.gnome.org/GNOME/dia/-/issues/581
CVSS vector
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Attack vector
Local
Complexity
Low
Privileges
None
User interaction
Required
Confidentiality
High
Integrity
High
Availability
High
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.2% · higher than 10% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
DI
Dia · GNOME
through 0.98.0 · source: vendor
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-77658
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-77658
access.redhat.com
https://access.redhat.com/security/cve/CVE-2026-77658
bugzilla.redhat.com
https://bugzilla.redhat.com/show_bug.cgi?id=2520890
gitlab.gnome.org
https://gitlab.gnome.org/GNOME/dia/-/blob/master/objects/network/bus.c
gitlab.gnome.org
https://gitlab.gnome.org/GNOME/dia/-/issues/581
More from Dia
7.8
CVE-2026-77652
Dia: dia: heap buffer overflow in wpg colormap parser via out-of-bounds palette index
5.5
CVE-2019-19451
When GNOME Dia before 2019-11-27 is launched with a filename argument that is not a valid codepoint in the current encoding, it enters an endless loop, thus endlessly writing text…
