{"id":11909,"date":"2026-09-04T18:53:57","date_gmt":"2026-09-04T10:53:57","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-77658"},"modified":"2026-09-04T18:53:57","modified_gmt":"2026-09-04T10:53:57","slug":"cve-2026-77658","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-77658","title":{"rendered":"CVE-2026-77658 [HIGH] &#8211; A stack-based buffer overflow vulnerability exists in the Dia diagram editor when processi"},"content":{"rendered":"<p>A stack-based buffer overflow vulnerability exists in the Dia diagram editor when processing Network Bus objects from Dia XML project files.<\/p>\n<p>In objects\/network\/bus.c, bus_load() reads the number of bus handles from the file attribute &#8220;bus_handles&#8221; using attribute_num_data() without validating an upper bound:<\/p>\n<p>    bus-&gt;num_handles = attribute_num_data(attr);<\/p>\n<p>When a bus handle is subsequently moved, bus_handle_moved() allocates two temporary arrays on the stack:<\/p>\n<p>    parallel = (real *)g_alloca(num_handles * sizeof(real));<br \/>\n    perp = (real *)g_alloca(num_handles * sizeof(real));<\/p>\n<p>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.<\/p>\n<p>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.<\/p>\n<p>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.<\/p>\n<p>Affected versions: Dia 0.98.0 and earlier versions containing this code; issue confirmed on upstream master as of 2026-08-21.<br \/>\nUpstream report: https:\/\/gitlab.gnome.org\/GNOME\/dia\/-\/issues\/581<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A stack-based buffer overflow vulnerability exists in the Dia diagram editor when processing Network Bus objects from Dia XML project files.<\/p>\n<p>In objects\/network\/bus.c, bus_load() reads the number of b<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-11909","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/11909","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=11909"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=11909"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=11909"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}