Bug 1860325 (CVE-2020-14405)

Summary: CVE-2020-14405 libvncserver: libvncclient/rfbproto.c does not limit TextChat size
Product: [Other] Security Response Reporter: Marian Rehak <mrehak>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED ERRATA QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: jadahl, negativo17, oholy, rdieter
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: libvncserver 0.9.13 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-05-18 14:34:56 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1860326, 1860327, 1860526, 1860527    
Bug Blocks: 1860332    

Description Marian Rehak 2020-07-24 10:19:00 UTC
An issue was discovered in LibVNCServer before 0.9.13. libvncclient/rfbproto.c does not limit TextChat size.

Upstream commit:

https://github.com/LibVNC/libvncserver/commit/8937203441ee241c4ace85da687b7d6633a12365

Comment 1 Marian Rehak 2020-07-24 10:19:34 UTC
Created libvncserver tracking bugs for this issue:

Affects: epel-7 [bug 1860326]
Affects: fedora-all [bug 1860327]

Comment 2 Todd Cullum 2020-07-24 22:07:54 UTC
Flaw Summary:

When receiving a remote framebuffer (RFB) textchat message, in HandleRFBServerMessage() of libvncclient/rfbproto.c, the routine does not validate the length of the message. The length of the message is immediately used in a call to malloc(). This could result in a memory allocation which is too large and could crash the vnc client, causing a temporary denial-of-service. The patch imposes a 10MB size limit on the textchat length and the routine will fail if it's above that length.

I've lowered the Impact to Moderate because triggering this flaw could lead to a temporary denial of service on the client. Exploitation would require a client user to connect to a malicious or compromised VNC server.

Comment 3 Todd Cullum 2020-07-24 22:22:09 UTC
vino is notaffected because it does not use the libvncclient functionality of libvncserver and thus the affected code is not shipped in the package; it only uses the server components.

Comment 6 Product Security DevOps Team 2021-05-18 14:34:56 UTC
This bug is now closed. Further updates for individual products will be reflected on the CVE page(s):

https://access.redhat.com/security/cve/cve-2020-14405

Comment 7 errata-xmlrpc 2021-05-18 15:16:12 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 8

Via RHSA-2021:1811 https://access.redhat.com/errata/RHSA-2021:1811