{"id":"CVE-2026-50538","summary":"libvncclient Tight decoder has an attacker-controlled heap out-of-bounds write","details":"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.","aliases":["GHSA-v9pm-47h4-jcq8"],"modified":"2026-10-28T11:16:37.215350180Z","published":"2026-08-21T21:03:58.147Z","related":["SUSE-SU-2026:23601-1","SUSE-SU-2026:3803-1","SUSE-SU-2026:4022-1","SUSE-SU-2026:4024-1","openSUSE-SU-2026:11601-1","openSUSE-SU-2026:21735-1"],"database_specific":{"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"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/50xxx/CVE-2026-50538.json"},{"type":"ADVISORY","url":"https://github.com/LibVNC/libvncserver/security/advisories/GHSA-v9pm-47h4-jcq8"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-50538"},{"type":"FIX","url":"https://github.com/LibVNC/libvncserver/commit/540332be3e0acc566fa64da6f1b4680c72c724dd"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/libvnc/libvncserver","events":[{"introduced":"0a70095271d845d16a3ed17354841b01f33963ad"},{"fixed":"540332be3e0acc566fa64da6f1b4680c72c724dd"}],"database_specific":{"extracted_events":[{"range":[{"introduced":"0.9.12"},{"last_affected":"0.9.15"}],"source":"AFFECTED_FIELD","strategy":"StringRangeExpression"},{"source":"REFERENCES_COMMIT","range":[{"fixed":"540332be3e0acc566fa64da6f1b4680c72c724dd"}]}]}}],"versions":["LibVNCServer-0.9.15","LibVNCServer-0.9.14","LibVNCServer-0.9.13","LibVNCServer-0.9.12"],"database_specific":{"vanir_signatures":[{"source":"https://github.com/libvnc/libvncserver/commit/540332be3e0acc566fa64da6f1b4680c72c724dd","target":{"function":"HandleTightBPP","file":"src/libvncclient/tight.c"},"deprecated":false,"digest":{"function_hash":"164589345870135953612303181283983175944","length":5063},"id":"CVE-2026-50538-086a573e","signature_type":"Function","signature_version":"v1"},{"signature_version":"v1","source":"https://github.com/libvnc/libvncserver/commit/540332be3e0acc566fa64da6f1b4680c72c724dd","target":{"file":"src/libvncclient/tight.c"},"deprecated":false,"digest":{"threshold":0.9,"line_hashes":["214389785877508549493957760394478125992","223103638384069193475657957569529834563","36118045756624052381473943598137507551"]},"id":"CVE-2026-50538-fca2985b","signature_type":"Line"}],"vanir_signatures_modified":"2026-10-28T11:16:37Z","source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-50538.json"}}],"schema_version":"1.9.2","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H"}]}