CVE-2014-6051
NoneCVSS
—
EPSS
8.3%
Published
Sep 30, 2014
CISA due date
—
Cloudanix analysis
A flaw in VNC viewing software lets a malicious server crash the program or take control of the computer simply by claiming to have a huge screen size when the user connects.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Remote Code Execution
- Component
- Library
- Class
- Buffer Overflow
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Integer overflow in MallocFrameBuffer allows a remote VNC server to trigger a heap-based buffer overflow in the client when advertising an excessively large screen size, leading to memory corruption that can cause a crash or arbitrary code execution.
Why it matters to the business
Systems running vulnerable VNC client software may experience denial of service or remote code execution when connecting to an untrusted server, potentially disrupting remote access workflows and requiring emergency patching across multiple Linux distributions and embedded products.
How an attack unfolds
An attacker hosts a malicious VNC server that responds to a client connection with a specially crafted screen size advertisement exceeding integer limits; the client’s MallocFrameBuffer function overflows during heap allocation, allowing the attacker to corrupt memory and potentially execute code or crash the viewer process.
How to fix it
Upgrade LibVNCServer to a version newer than 0.9.9 on all affected platforms including Red Hat Enterprise Linux variants, Fedora, Debian, and Oracle Solaris; rebuild or replace any downstream packages that statically link the vulnerable library.
How to confirm the fix worked
Verify the installed libvncserver package version is greater than 0.9.9, recompile test clients against the updated library, and confirm that connections to servers advertising large framebuffers no longer trigger crashes or memory errors.
Typical attack path
- Attacker sets up a VNC server advertising an oversized framebuffer dimension
- Victim initiates a connection from a vulnerable LibVNCServer-based viewer
- Server sends the malicious screen size value triggering integer overflow
- Heap buffer is allocated incorrectly leading to out-of-bounds write
- Attacker supplies further data to achieve code execution or denial of service
How to detect it
Review application logs and crash dumps from vncviewer processes for signs of heap corruption around framebuffer allocation; correlate connection attempts to external or unexpected VNC endpoints with subsequent process instability.
What your security team should do
- Prioritize patching all VNC viewer instances given the remote unauthenticated attack vector
- Scan package inventories for any remaining 0.9.9 or earlier LibVNCServer deployments
- Consider network segmentation or firewall rules restricting outbound VNC connections to untrusted servers until updates are complete
The record
Integer overflow in the MallocFrameBuffer function in vncviewer.c in LibVNCServer 0.9.9 and earlier allows remote VNC servers to cause a denial of service (crash) and possibly execute arbitrary code via an advertisement for a large screen size, which triggers a heap-based buffer overflow.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | libvncserver | 0 | 0.9.9+dfsg-6.1 |
| Debian:11 | veyon | 0 | 4.1.4+repack1-1 |
| Debian:12 | libvncserver | 0 | 0.9.9+dfsg-6.1 |
| Debian:12 | veyon | 0 | 4.1.4+repack1-1 |
| Debian:13 | libvncserver | 0 | 0.9.9+dfsg-6.1 |
| Debian:13 | veyon | 0 | 4.1.4+repack1-1 |
| Debian:14 | libvncserver | 0 | 0.9.9+dfsg-6.1 |
| Debian:14 | veyon | 0 | 4.1.4+repack1-1 |
| Debian:6.0 | libvncserver | 0 | 0.9.7-2+deb6u1 |
| Debian:7 | libvncserver | 0 | 0.9.9+dfsg-1+deb7u1 |
| Debian:8 | italc | 0 | 1:2.0.2+dfsg1-2+deb8u1 |
| Mageia:3 | libvncserver | 0 | 0.9.9-2.2.mga3 |
| Mageia:3 | remmina | 0 | 1.0.0-3.2.mga3 |
| Mageia:4 | libvncserver | 0 | 0.9.9-3.2.mga4 |
| Mageia:4 | remmina | 0 | 1.0.0-4.4.mga4 |
| Red Hat:enterprise_linux:6::client | libvncserver | 0 | 0:0.9.7-7.el6_6.1 |
| Red Hat:enterprise_linux:6::client | libvncserver-debuginfo | 0 | 0:0.9.7-7.el6_6.1 |
| Red Hat:enterprise_linux:6::client | libvncserver-devel | 0 | 0:0.9.7-7.el6_6.1 |
| Red Hat:enterprise_linux:6::server | libvncserver | 0 | 0:0.9.7-7.el6_6.1 |
| Red Hat:enterprise_linux:6::server | libvncserver-debuginfo | 0 | 0:0.9.7-7.el6_6.1 |
| Red Hat:enterprise_linux:6::server | libvncserver-devel | 0 | 0:0.9.7-7.el6_6.1 |
| Red Hat:enterprise_linux:6::workstation | libvncserver | 0 | 0:0.9.7-7.el6_6.1 |
| Red Hat:enterprise_linux:6::workstation | libvncserver-debuginfo | 0 | 0:0.9.7-7.el6_6.1 |
| Red Hat:enterprise_linux:6::workstation | libvncserver-devel | 0 | 0:0.9.7-7.el6_6.1 |
| Red Hat:enterprise_linux:7::client | libvncserver | 0 | 0:0.9.9-9.el7_0.1 |
| Red Hat:enterprise_linux:7::client | libvncserver-debuginfo | 0 | 0:0.9.9-9.el7_0.1 |
| Red Hat:enterprise_linux:7::client | libvncserver-devel | 0 | 0:0.9.9-9.el7_0.1 |
| Red Hat:enterprise_linux:7::server | libvncserver | 0 | 0:0.9.9-9.el7_0.1 |
| Red Hat:enterprise_linux:7::server | libvncserver-debuginfo | 0 | 0:0.9.9-9.el7_0.1 |
| Red Hat:enterprise_linux:7::server | libvncserver-devel | 0 | 0:0.9.9-9.el7_0.1 |
| Red Hat:enterprise_linux:7::workstation | libvncserver | 0 | 0:0.9.9-9.el7_0.1 |
| Red Hat:enterprise_linux:7::workstation | libvncserver-debuginfo | 0 | 0:0.9.9-9.el7_0.1 |
| Red Hat:enterprise_linux:7::workstation | libvncserver-devel | 0 | 0:0.9.9-9.el7_0.1 |
| Red Hat:rhel_eus:6.5::server | libvncserver | 0 | 0:0.9.7-7.el6_5.1 |
| Red Hat:rhel_eus:6.5::server | libvncserver-debuginfo | 0 | 0:0.9.7-7.el6_5.1 |
| Red Hat:rhel_eus:6.5::server | libvncserver-devel | 0 | 0:0.9.7-7.el6_5.1 |
| SUSE:Linux Enterprise Desktop 11 SP3 | LibVNCServer | 0 | 0.9.1-156.1 |
| SUSE:Linux Enterprise Desktop 11 SP4 | LibVNCServer | 0 | 0.9.1-156.1 |
| SUSE:Linux Enterprise Desktop 12 | LibVNCServer | 0 | 0.9.9-16.1 |
| SUSE:Linux Enterprise Server 11 SP3 | LibVNCServer | 0 | 0.9.1-156.1 |
| SUSE:Linux Enterprise Server 11 SP3-TERADATA | LibVNCServer | 0 | 0.9.1-156.1 |
| SUSE:Linux Enterprise Server 11 SP4 | LibVNCServer | 0 | 0.9.1-156.1 |
| SUSE:Linux Enterprise Server 12 | LibVNCServer | 0 | 0.9.9-16.1 |
| SUSE:Linux Enterprise Server 12 SP1 | LibVNCServer | 0 | 0.9.9-16.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP3 | LibVNCServer | 0 | 0.9.1-156.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | LibVNCServer | 0 | 0.9.1-156.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 | LibVNCServer | 0 | 0.9.9-16.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP1 | LibVNCServer | 0 | 0.9.9-16.1 |
| SUSE:Linux Enterprise Software Development Kit 11 SP3 | LibVNCServer | 0 | 0.9.1-156.1 |
| SUSE:Linux Enterprise Software Development Kit 11 SP4 | LibVNCServer | 0 | 0.9.1-156.1 |
| SUSE:Linux Enterprise Software Development Kit 12 | LibVNCServer | 0 | 0.9.9-16.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP1 | LibVNCServer | 0 | 0.9.9-16.1 |
| Ubuntu:14.04:LTS | libvncserver | 0 | 0.9.9+dfsg-1ubuntu1.1 |
| Ubuntu:16.04:LTS | italc | 0 | 1:2.0.2+dfsg1-4ubuntu0.1 |
Related vulnerabilities
- CVE-2016-9941 Heap-based buffer overflow in rfbproto.c in LibVNCClient in LibVNCServer before 0.9.11… Also affects libvncserver
- CVE-2014-6053 The rfbProcessClientNormalMessage function in libvncserver/rfbserver.c in LibVNCServer… Also affects libvncserver
- CVE-2014-4607 Integer overflow in the LZO algorithm variant in Oberhumer liblzo2 and lzo-2 before 2.07… Also affects libvncserver
- CVE-2026-102621 A vulnerability was identified in Freedesktop Poppler up to 26.08.0. CWE-189
- CVE-2026-102620 A vulnerability was determined in Freedesktop Poppler 26.06.0/26.07.0/26.08.0. CWE-189
- CVE-2026-93314 A vulnerability was determined in Freedesktop Poppler 26.07.0. CWE-189
- CVE-2026-93313 A vulnerability was found in Freedesktop Poppler 26.07.0. CWE-189
- CVE-2026-93311 A vulnerability was detected in Freedesktop Poppler 26.07.0. CWE-189