{"answers":{"affected":"","exploited":"It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-77658 exists.","fix":"No fix has been published for CVE-2026-77658 yet. Limit exposure of the affected software until one is available.","what":"CVE-2026-77658 is a high-severity memory corruption vulnerability in GNOME Dia, published on 26 Aug 2026. It can only be exploited from the same machine or local network, and only if a user opens a file or follows a link."},"fix_prompt":"Check this codebase for CVE-2026-77658 and fix it if it is affected.\n\nWhat it is: CVE-2026-77658 is a high-severity memory corruption vulnerability in GNOME Dia, published on 26 Aug 2026. It can only be exploited from the same machine or local network, and only if a user opens a file or follows a link.\nExploitation: It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-77658 exists.\n\nAffected product: GNOME Dia. No package-level version data is available, so check the vendor advisory linked from the reference page.\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2026-77658/ (Markdown: https://insights.sbomify.com/CVE-2026-77658/index.md)","id":"CVE-2026-77658","markdown":"https://insights.sbomify.com/CVE-2026-77658/index.md","name":"CVE-2026-77658","record":{"aliases":["DEBIAN-CVE-2026-77658","GHSA-ff24-wmrj-75w8","UBUNTU-CVE-2026-77658"],"analysis":{"component_type":"desktop_application","fix_type":"no_fix_stated","impacts":["code_execution","denial_of_service"],"network_reachable":"adjacent_or_local","non_default_config":false,"product_category":"Dia diagram editor","requires_auth":"none","summary":"Attacker can cause stack buffer overflow and potential code execution by tricking a user into opening a malicious Dia project file with excessive handle counts.","user_interaction":"required","vuln_class":"memory_corruption"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"fedora","cpe":[],"cvss":{"score":7.8,"severity":"high","source":"cna","vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","version":"3.1"},"cwes":[{"id":"CWE-121","name":"Stack-based Buffer Overflow"}],"description":"A stack-based buffer overflow vulnerability exists in the Dia diagram editor when processing Network Bus objects from Dia XML project files.\n\nIn 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:\n\n    bus-\u003enum_handles = attribute_num_data(attr);\n\nWhen a bus handle is subsequently moved, bus_handle_moved() allocates two temporary arrays on the stack:\n\n    parallel = (real *)g_alloca(num_handles * sizeof(real));\n    perp = (real *)g_alloca(num_handles * sizeof(real));\n\nBecause 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.\n\nAn 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.\n\nThe 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.\n\nAffected versions: Dia 0.98.0 and earlier versions containing this code; issue confirmed on upstream master as of 2026-08-21.\nUpstream report: https://gitlab.gnome.org/GNOME/dia/-/issues/581","ecosystems":[],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"weaponised"},"has_fix":false,"headline":"Dia: dia: stack buffer overflow in bus object via unvalidated handle count in project files","id":"CVE-2026-77658","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":null,"product":null,"products":[],"type":"memory_corruption","year":"2026"},"n_packages":0,"n_references":4,"next":{"headline":"Libsoup3: libsoup: quadratic cpu denial of service in http range coalescing after cve-2025-32907 fix","id":"CVE-2026-77680"},"packages":[],"prev":{"headline":"Local Privilege Escalation via Misconfigured Sudoers Entry in Horizon Security Analyzer","id":"CVE-2026-77654"},"products":["Dia"],"published":"2026-08-26","related":[],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"no","exploitation":"poc","technical_impact":"total"},"state":"PUBLISHED","updated":"2026-08-26","vendors":["GNOME"]},"summary":"Attacker can cause stack buffer overflow and potential code execution by tricking a user into opening a malicious Dia project file with excessive handle counts.","url":"https://insights.sbomify.com/CVE-2026-77658/"}