{
    "dataType": "CVE_RECORD",
    "dataVersion": "5.2",
    "cveMetadata": {
        "cveId": "CVE-2026-77658",
        "assignerOrgId": "92fb86c3-55a5-4fb5-9c3f-4757b9e96dc5",
        "state": "PUBLISHED",
        "assignerShortName": "fedora",
        "dateReserved": "2026-08-21T04:33:45.481Z",
        "datePublished": "2026-08-26T12:10:07.556Z",
        "dateUpdated": "2026-08-26T12:10:07.556Z"
    },
    "containers": {
        "cna": {
            "title": "Dia: dia: stack buffer overflow in bus object via unvalidated handle count in project files",
            "metrics": [
                {
                    "other": {
                        "content": {
                            "value": "Important",
                            "namespace": "https://access.redhat.com/security/updates/classification/"
                        },
                        "type": "Red Hat severity rating"
                    }
                },
                {
                    "cvssV3_1": {
                        "attackComplexity": "LOW",
                        "attackVector": "LOCAL",
                        "availabilityImpact": "HIGH",
                        "baseScore": 7.8,
                        "baseSeverity": "HIGH",
                        "confidentialityImpact": "HIGH",
                        "integrityImpact": "HIGH",
                        "privilegesRequired": "NONE",
                        "scope": "UNCHANGED",
                        "userInteraction": "REQUIRED",
                        "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H",
                        "version": "3.1"
                    },
                    "format": "CVSS"
                }
            ],
            "descriptions": [
                {
                    "lang": "en",
                    "value": "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->num_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"
                }
            ],
            "affected": [
                {
                    "vendor": "GNOME",
                    "product": "Dia",
                    "versions": [
                        {
                            "status": "affected",
                            "version": "0",
                            "lessThan": "*",
                            "versionType": "semver"
                        }
                    ],
                    "packageName": "dia",
                    "collectionURL": "https://gitlab.gnome.org/GNOME/dia/-/issues/581",
                    "defaultStatus": "unaffected"
                }
            ],
            "references": [
                {
                    "url": "https://access.redhat.com/security/cve/CVE-2026-77658",
                    "tags": [
                        "vdb-entry",
                        "x_refsource_REDHAT"
                    ]
                },
                {
                    "url": "https://bugzilla.redhat.com/show_bug.cgi?id=2520890",
                    "name": "RHBZ#2520890",
                    "tags": [
                        "issue-tracking",
                        "x_refsource_REDHAT"
                    ]
                },
                {
                    "url": "https://gitlab.gnome.org/GNOME/dia/-/blob/master/objects/network/bus.c"
                },
                {
                    "url": "https://gitlab.gnome.org/GNOME/dia/-/issues/581"
                }
            ],
            "datePublic": "2026-08-21T00:00:00.000Z",
            "problemTypes": [
                {
                    "descriptions": [
                        {
                            "cweId": "CWE-121",
                            "description": "Stack-based Buffer Overflow",
                            "lang": "en",
                            "type": "CWE"
                        }
                    ]
                }
            ],
            "x_redhatCweChain": "CWE-121: Stack-based Buffer Overflow",
            "timeline": [
                {
                    "lang": "en",
                    "time": "2026-08-21T04:16:10.319Z",
                    "value": "Reported to Red Hat."
                },
                {
                    "lang": "en",
                    "time": "2026-08-21T00:00:00.000Z",
                    "value": "Made public."
                }
            ],
            "credits": [
                {
                    "lang": "en",
                    "value": "Red Hat would like to thank Robin \"drzobin\" Larsson for reporting this issue."
                }
            ],
            "providerMetadata": {
                "orgId": "92fb86c3-55a5-4fb5-9c3f-4757b9e96dc5",
                "shortName": "fedora",
                "dateUpdated": "2026-08-26T12:10:07.556Z"
            },
            "x_generator": {
                "engine": "cvelib 1.8.0"
            }
        }
    }
}