{
    "dataType": "CVE_RECORD",
    "dataVersion": "5.2",
    "cveMetadata": {
        "cveId": "CVE-2026-50538",
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "state": "PUBLISHED",
        "assignerShortName": "GitHub_M",
        "dateReserved": "2026-06-04T20:37:18.653Z",
        "datePublished": "2026-08-21T21:03:58.147Z",
        "dateUpdated": "2026-08-21T21:03:58.147Z"
    },
    "containers": {
        "cna": {
            "title": "libvncclient Tight decoder has an attacker-controlled heap out-of-bounds write",
            "problemTypes": [
                {
                    "descriptions": [
                        {
                            "cweId": "CWE-122",
                            "lang": "en",
                            "description": "CWE-122: Heap-based Buffer Overflow",
                            "type": "CWE"
                        }
                    ]
                },
                {
                    "descriptions": [
                        {
                            "cweId": "CWE-787",
                            "lang": "en",
                            "description": "CWE-787: Out-of-bounds Write",
                            "type": "CWE"
                        }
                    ]
                }
            ],
            "metrics": [
                {
                    "cvssV3_1": {
                        "attackComplexity": "LOW",
                        "attackVector": "NETWORK",
                        "availabilityImpact": "HIGH",
                        "baseScore": 8.8,
                        "baseSeverity": "HIGH",
                        "confidentialityImpact": "HIGH",
                        "integrityImpact": "HIGH",
                        "privilegesRequired": "NONE",
                        "scope": "UNCHANGED",
                        "userInteraction": "REQUIRED",
                        "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H",
                        "version": "3.1"
                    }
                }
            ],
            "references": [
                {
                    "name": "https://github.com/LibVNC/libvncserver/security/advisories/GHSA-v9pm-47h4-jcq8",
                    "tags": [
                        "x_refsource_CONFIRM"
                    ],
                    "url": "https://github.com/LibVNC/libvncserver/security/advisories/GHSA-v9pm-47h4-jcq8"
                },
                {
                    "name": "https://github.com/LibVNC/libvncserver/commit/540332be3e0acc566fa64da6f1b4680c72c724dd",
                    "tags": [
                        "x_refsource_MISC"
                    ],
                    "url": "https://github.com/LibVNC/libvncserver/commit/540332be3e0acc566fa64da6f1b4680c72c724dd"
                }
            ],
            "affected": [
                {
                    "vendor": "LibVNC",
                    "product": "libvncserver",
                    "versions": [
                        {
                            "version": ">= 0.9.12, <= 0.9.15",
                            "status": "affected"
                        }
                    ]
                }
            ],
            "providerMetadata": {
                "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
                "shortName": "GitHub_M",
                "dateUpdated": "2026-08-21T21:03:58.147Z"
            },
            "descriptions": [
                {
                    "lang": "en",
                    "value": "LibVNCClient is a library for easy implementation of a VNC client. In versions 0.9.12 through 0.9.15, a malicious (or man-in-the-middle) VNC server can force a connecting `libvncclient` to write attacker-controlled data past the end of its framebuffer. This is an out-of-bounds heap write with attacker-controlled length, contents, and offset. It needs no authentication (the attacker\nis the server), works in a default build with default settings, and fires from a single `FramebufferUpdate` the moment the victim connects. It crashes any client unconditionally (denial of service); we also demonstrated it overwriting an application callback pointer and redirecting execution to attacker-chosen code (code execution) under the default configuration. Commit 540332be3e0acc566fa64da6f1b4680c72c724dd patches the issue."
                }
            ],
            "source": {
                "advisory": "GHSA-v9pm-47h4-jcq8",
                "discovery": "UNKNOWN"
            }
        }
    }
}