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
is 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.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-122",
"CWE-787"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/50xxx/CVE-2026-50538.json"
}{
"extracted_events": [
{
"range": [
{
"introduced": "0.9.12"
},
{
"last_affected": "0.9.15"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"fixed": "540332be3e0acc566fa64da6f1b4680c72c724dd"
}
],
"source": "REFERENCES_COMMIT"
}
]
}
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-50538.json"
[
{
"deprecated": false,
"digest": {
"function_hash": "164589345870135953612303181283983175944",
"length": 5063
},
"id": "CVE-2026-50538-086a573e",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/libvnc/libvncserver/commit/540332be3e0acc566fa64da6f1b4680c72c724dd",
"target": {
"file": "src/libvncclient/tight.c",
"function": "HandleTightBPP"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"214389785877508549493957760394478125992",
"223103638384069193475657957569529834563",
"36118045756624052381473943598137507551"
],
"threshold": 0.9
},
"id": "CVE-2026-50538-fca2985b",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/libvnc/libvncserver/commit/540332be3e0acc566fa64da6f1b4680c72c724dd",
"target": {
"file": "src/libvncclient/tight.c"
}
}
]
"2026-10-28T11:16:37Z"