Impact
The Dia diagram editor contains a stack‑based buffer overflow that is triggered when a Network Bus object in a .dia file specifies an excessively large number of bus handles. The bus_load() function reads the handle count from the file attribute "bus_handles" without imposing an upper bound, and later bus_handle_moved() allocates two temporary arrays on the stack whose size is based on that count. An attacker can set a very large count, causing the g_alloca() allocations to exceed the thread stack limit, resulting in stack overflow that can corrupt return addresses and potentially enable arbitrary code execution. The identical, unvalidated allocation pattern also exists in the Tree object implementation, indicating a broader class of overflow vulnerabilities.
Affected Systems
The software affected is the Dia diagram editor, versions 0.98.0 and earlier. All users running these releases and who may open untrusted diagram files are at risk.
Risk and Exploitability
The CVSS score of 7.8 indicates a high local impact; no EPSS score is available and the vulnerability is not listed in CISA’s KEV catalog. Exploitation requires a user to open a malicious .dia file, typically via the file dialog or command line, and then manipulate a bus handle to trigger the vulnerable code path. The attack vector is local, but the potential to corrupt memory and possibly execute arbitrary code makes it a significant threat for systems that use Dia.
OpenCVE Enrichment