Bug 1418944 (CVE-2017-5884)

Summary: CVE-2017-5884 gtk-vnc: Improper check of framebuffer boundaries when processing a tile
Product: [Other] Security Response Reporter: Adam Mariš <amaris>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED ERRATA QA Contact:
Severity: low Docs Contact:
Priority: low    
Version: unspecifiedCC: berrange, bmcclain, cfergeau, dblechte, eedri, erik-fedora, fidencio, lsurette, mgoldboi, michal.skrivanek, rh-spice-bugs, rjones, sbonazzo, srevivo, virt-maint, ykaul
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
It was found that gtk-vnc lacked proper bounds checking while processing messages using RRE, hextile, or copyrect encodings. A remote malicious VNC server could use this flaw to crash VNC viewers which are based on the gtk-vnc library.
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-06-08 03:06:59 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On: 1418955, 1418956, 1425367    
Bug Blocks: 1415638, 1418954    

Description Adam Mariš 2017-02-03 08:52:02 UTC
It was found that gtk-vnc does not properly check boundaries of subrectangle-containing tiles. A malicious server can use this to overwrite parts of the client memory, potentially leading to code execution under privileges of the user running the VNC client.

Upstream bug:

https://bugzilla.gnome.org/show_bug.cgi?id=778048

Upstream patch:

https://git.gnome.org/browse/gtk-vnc/commit/?id=ea0386933214c9178

Comment 1 Adam Mariš 2017-02-03 09:12:42 UTC
Created gtk-vnc tracking bugs for this issue:

Affects: fedora-all [bug 1418955]

Comment 2 Adam Mariš 2017-02-03 09:13:00 UTC
Created mingw-gtk-vnc tracking bugs for this issue:

Affects: fedora-all [bug 1418956]

Comment 3 Adam Mariš 2017-02-06 08:45:06 UTC
CVE assignment:

http://openwall.com/lists/oss-security/2017/02/05/5

CVE covers all issues mentioned in https://bugzilla.gnome.org/show_bug.cgi?id=778048#c1

Comment 4 Daniel Berrangé 2017-02-07 14:13:49 UTC
Upstream fix in git master is

commit ea0386933214c9178aaea9f2f85049ea3fa3e14a
Author: Daniel P. Berrange <berrange@redhat.com>
Date:   Thu Feb 2 17:34:47 2017 +0000

    Fix bounds checking for RRE, hextile & copyrect encodings
    
    While the client would bounds check the overall update
    region, it failed to bounds check the payload data
    parameters.
    
    Add a test case to validate bounds checking.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=778048
    
    CVE-2017-5884
    
    Signed-off-by: Daniel P. Berrange <berrange@redhat.com>

Comment 10 errata-xmlrpc 2017-08-01 19:56:49 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 7

Via RHSA-2017:2258 https://access.redhat.com/errata/RHSA-2017:2258