summaryrefslogtreecommitdiff
path: root/Development/Security.mdwn
blob: b152b5a1784f5983485fd4bd9ddbc76cdc33008d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
# Security Advisories

This page details security issues that have been found in X.Org, and their remedies. 

Please contact the [[X.Org security team|Development/Security/Organization]] at [[xorg-security@lists.x.org|mailto:xorg-security%40lists.x.org]] to report security issues in the X.Org codebase. 

While the advisories are listed below by the most recent release they affect, most affect older releases as well, in many cases going back to the introduction of the affected functionality.

See the [[Security Checklist|Development/Security/Checklist]] for the list of things to go from a bug report to a released advisory.

## X.Org 7.7

* Oct. 4, 2016 Protocol handling issues in X Window System client libraries
 * X client libraries can overflow buffers or corrupt memory in clients if servers send invalid replies. CVE-2016-54-7. CVE-2016-7942, CVE-2016-7943, CVE-2016-7944, CVE-2016-7945, CVE-2016-7946, CVE-2016-7947, CVE-2016-7948, CVE-2016-7949, CVE-2016-7950, CVE-2016-7951, CVE-2016-7952, CVE-2016-5953. 
 * Please see [[the advisory|https://lists.x.org/archives/xorg-announce/2016-October/002720.html]] ([[extended version|Development/Security/Advisory-2016-10-04]]) for more information.

* Apr. 14, 2015 - Buffer overflow in `MakeBigReq` macro in libX11 prior to 1.6
   * CVE-2013-7439 was assigned to track a buffer overflow fixed in libX11 in 2013 which requires other packages to be recompiled if they use the `MakeBigReq()` or `SetReqLen()` macros from `<X11/XlibInt.h>`.
   * Please see [[the advisory|http://lists.x.org/archives/xorg-announce/2015-April/002561.html]] for more information.

* Mar. 17, 2015 - More BDF file parsing issues in libXfont
   * CVE-2015-1802..1804: The libXfont library used by the X server to read font files can read or write memory out of bounds when loading invalid BDF font files provided by a user.
   * Please see [[the advisory|Development/Security/Advisory-2015-03-17]] for more information.

* Feb 10, 2015 - Information leak in the XkbSetGeometry request of X servers
   * CVE-2015-0255: A malicious client with string lengths exceeding the request length can cause the server to copy adjacent memory data into the XKB structs.
   * Please see [[the advisory|Development/Security/Advisory-2015-02-10]] for more information.

* Dec. 9, 2014 - Protocol handling issues in X Window System servers
   * CVE-2014-8091..8103: X servers can access uninitialized memory or overwrite arbitrary memory in the X server process if clients send invalid requests.
This could cause a denial of service (e.g., an X server segmentation fault), or
could be exploited to achieve arbitrary code execution. Please see
[[the advisory|Development/Security/Advisory-2014-12-09]] for more information.

* May 13, 2014 - X Font Service Protocol & Font metadata file handling issues in libXfont
   * CVE-2014-0209: integer overflow of allocations in font metadata file parsing
   * CVE-2014-0210: unvalidated length fields when parsing xfs protocol replies
   * CVE-2014-0211: integer overflows calculating memory needs for xfs replies
   * Please see [[the advisory|http://lists.x.org/archives/xorg-announce/2014-May/002431.html]] for more information.

* Jan. 7, 2014 - Stack buffer overflow in parsing of BDF font files in libXfont
   * CVE-2013-6462: An authenticated X client can cause an X server to read a font file that overflows a buffer on the stack in the X server, potentially leading to crash and/or privilege escalation in setuid servers.  The fix is included in [[libXfont 1.4.7|http://lists.x.org/archives/xorg-announce/2014-January/002388.html]].  Please see [[the advisory|http://lists.x.org/archives/xorg-announce/2014-January/002389.html]] for more information.

* Oct. 8, 2013 - Use after free in Xserver handling of ImageText requests
   * CVE-2013-4396: An authenticated X client can cause an X server to use memory after it was freed, potentially leading to crash and/or memory corruption.  Please see [[the advisory|http://lists.x.org/archives/xorg-announce/2013-October/002332.html]] for more information.

* May 23, 2013 - Protocol handling issues in X Window System client libraries 
   * CVE-2013-1981..2005, CVE-2013-2062..2066: X client libraries can overflow buffers or corrupt memory in clients if servers send invalid replies.
Please see [[the advisory|Development/Security/Advisory-2013-05-23]] for more information. 

* Apr 17, 2013 - vulnerability in VT-switch on Linux: 
   * CVE-2013-1940: Xservers receive input from hot-plugged devices when user has switched to another VT on Linux systems. The fix was included in [[xorg-server 1.13.4|http://lists.x.org/archives/xorg-announce/2013-April/002199.html]] and [[xorg-server 1.14.1|http://lists.x.org/archives/xorg-announce/2013-April/002200.html]]. Please see [[http://who-t.blogspot.com/2013/04/cve-2013-1940-vt-switched-servers.html|http://who-t.blogspot.com/2013/04/cve-2013-1940-vt-switched-servers.html]] for more information. 

## X.Org 7.6

* Jan 19, 2012 - vulnerability in default keyboard maps: 
   * CVE-2012-0064: It is possible to bypass a screen locking application when displayed on Xorg 1.11 or later by using the input grab killing keystrokes, which were enabled by default. The fix was included in [[xkeyboard-config 2.5|http://lists.x.org/archives/xorg-announce/2012-January/001797.html]] to not enable those key mappings unless requested. Please see [[http://who-t.blogspot.com/2012/01/xkb-breaking-grabs-cve-2012-0064.html|http://who-t.blogspot.com/2012/01/xkb-breaking-grabs-cve-2012-0064.html]] for more information. 
* Oct 18, 2011 - 2 vulnerabilities related to X server lock files: 
   * CVE-2011-4028: File disclosure vulnerability: It is possible to deduce if a file exists or not by exploiting the way that Xorg creates its lock files. 
   * CVE-2011-4029:  File permission change vulnerability: It is possible for a non-root user to set the permissions for all users on any file or directory to 444, giving unwanted read access or causing denies of service (by removing execute permission). This is caused by a race between creating the lock file and setting its access modes. Please see [[the advisory|http://lists.freedesktop.org/archives/xorg-announce/2011-October/001744.html]] for more information. Patches are available: [[CVE-2011-4028|http://cgit.freedesktop.org/xorg/xserver/commit/?id=6ba44b91e37622ef8c146d8f2ac92d708a18ed34]] [[CVE-2011-4029|http://cgit.freedesktop.org/xorg/xserver/commit/?id=b67581cf825940fdf52bf2e0af4330e695d724a4]] Fixes are included in [[xserver 1.11.2RC2|http://lists.x.org/archives/xorg-announce/2011-October/001747.html]] and later. 
* Aug 10, 2011 - CVE-2011-2895: A specially crafted LZW compressed font file may be used by a user who can connect to the X server to overflow a buffer in the X server, possibly leading to a local privilege escalation. Please see [[the advisory|http://lists.freedesktop.org/archives/xorg-announce/2011-August/001721.html]] for more information. Patch is available: [[CVE-2011-2895|http://cgit.freedesktop.org/xorg/lib/libXfont/commit/?id=d11ee5886e9d9ec610051a206b135a4cdc1e09a0]] Fix is included in [[libXfont 1.4.4|http://lists.freedesktop.org/archives/xorg-announce/2011-August/001722.html]] and later. 
* Apr 5, 2011 - CVE-2011-0465: By crafting hostnames with shell escape characters, arbitrary commands can be executed in a root environment when a display manager reads in the resource database via xrdb. Please see [[the advisory|http://lists.freedesktop.org/archives/xorg-announce/2011-April/001636.html]] for more information. Patch is available: [[CVE-2011-0465|http://cgit.freedesktop.org/xorg/app/xrdb/patch/?id=1027d5df07398c1507fb1fe3a9981aa6b4bc3a56]] 

## X.Org 7.3

* Jun 11, 2008 - CVE-2008-1377, CVE-2008-1379, CVE-2008-2360, CVE-2008-2361, CVE-2008-2362: Several vulnerabilities have been found in the server-side code of some extensions in the X Window System. Improper validation of client-provided data can cause data corruption. Please see [[the advisory|http://lists.freedesktop.org/archives/xorg-announce/2008-June/000578.html]] for more information. Patches are available: [[CVE-2008-1377|ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/patches/xorg-xserver-1.4-cve-2008-1377.diff]] [[CVE-2008-1379|ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/patches/xorg-xserver-1.4-cve-2008-1379.diff]] [[CVE-2008-2360|ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/patches/xorg-xserver-1.4-cve-2008-2360.diff]] [[CVE-2008-2361|ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/patches/xorg-xserver-1.4-cve-2008-2361.diff]] [[CVE-2008-2362|ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/patches/xorg-xserver-1.4-cve-2008-2362.diff]] 
* Jan 17, 2008 - CVE-2007-5760, CVE-2007-5958, CVE-2007-6427, CVE-2007-6428, CVE-2007-6429, CVE-2008-0006: Several vulnerabilities have been identified in server code of the X window system caused by lack of proper input validation on user controlled data in various parts of the software, causing various kinds of overflows. Please see [[the advisory|http://lists.freedesktop.org/archives/xorg-announce/2008-January/000441.html]] for more information. Patches are available for [[X11R7.2|Releases/7.2]]: [[libXfont 1.2.7|http://xorg.freedesktop.org/archive/X11R7.2/patches/xorg-libXfont-1.2.7-pcf-parser.diff]] and [[xserver 1.2|http://xorg.freedesktop.org/archive/X11R7.2/patches/xorg-xserver-1.2-multiple-overflows.diff]] as well as for [[X11R7.3|Releases/7.3]]: [[libXfont 1.3.1|http://xorg.freedesktop.org/archive/X11R7.3/patches/xorg-libXfont-1.3.1-pcf-parser.diff]] and [[xserver 1.4|http://xorg.freedesktop.org/archive/X11R7.3/patches/xorg-xserver-1.4-multiple-overflows.diff]]. 
* **Update** Jan 21, 2008 - The patch for the MIT-SHM vulnerability (CVE-2007-6429) introduced a regression for applications that allocate pixmaps with a less than 8 bits depth. New patches are available for [[xserver 1.2|http://xorg.freedesktop.org/archive/X11R7.2/patches/xorg-xserver-1.2-multiple-overflows-v2.diff]] and [[xserver 1.4|http://xorg.freedesktop.org/archive/X11R7.3/patches/xorg-xserver-1.4-multiple-overflows-v2.diff]].
     * MD5: `8e3f74c2cabddd3d629018924140e413` [[xorg-xserver-1.2-multiple-overflows-v2.diff|http://xorg.freedesktop.org/archive/X11R7.2/patches/xorg-xserver-1.2-multiple-overflows-v2.diff]]  
     * SHA1: `38ad95d97e83861c309276a27296787e6d0d1b54`  [[xorg-xserver-1.2-multiple-overflows-v2.diff|http://xorg.freedesktop.org/archive/X11R7.2/patches/xorg-xserver-1.2-multiple-overflows-v2.diff]]
     * MD5: `ded4bc31104aedada0155514a968b45f` [[xorg-xserver-1.4-multiple-overflows-v2.diff|http://xorg.freedesktop.org/archive/X11R7.3/patches/xorg-xserver-1.4-multiple-overflows-v2.diff]]
     * SHA1: `af92fd389e72a3bb59d25dbf9cbb06e827b75d7d` [[xorg-xserver-1.4-multiple-overflows-v2.diff|http://xorg.freedesktop.org/archive/X11R7.3/patches/xorg-xserver-1.4-multiple-overflows-v2.diff]] 
* Oct 2, 2007 - CVE-2007-4568: Multiple vulnerabilities in the X font server can lead to head corruption or overflow from a client. Please see [[the advisory|http://lists.freedesktop.org/archives/xorg-announce/2007-October/000416.html]] for more information. This is fixed in [[xfs 1.0.5|http://xorg.freedesktop.org/archive/individual/app/xfs-1.0.5.tar.bz2]]. A Patch is available for [[xfs 1.0.4|http://xorg.freedesktop.org/archive/X11R7.3/patches/xorg-xfs-1.0.4-query.diff]]. 

## X.Org 7.2

* April 3, 2007 - CVE-2007-1003 CVE-2007-1351 CVE-2007-1352 CVE-2007-1352: Lack of validation of parameters passed to the X server and libX11 by client application can lead to various kinds of integer overflows or stack overflows that can be used to overwrite data in the X server memory. Please see [[the advisory|http://lists.freedesktop.org/archives/xorg-announce/2007-April/000286.html]] for more information. Patches are available for [[7.2|http://xorg.freedesktop.org/archive/X11R7.2/patches]]. 

## X.Org 7.1

* January 9, 2007 - CVE-2006-6101 CVE-2006-6102 CVE-2006-6103: The ProcDbeGetVisualInfo(), ProcDbeSwapBuffer() and ProcRenderAddGlyphs() functions in the X server, implementing requests for the dbe and render extensions, may be used to overwrite data on the stack or in other parts of the X server's memory. Please see [[the advisory|http://lists.freedesktop.org/archives/xorg-announce/2007-January/000235.html]] for more information. Patches are available for [[6.8.2|Releases/6.8.2]], [[6.9.0|Releases/6.9]], [[7.0|Releases/7.0]] and [[7.1|Releases/7.1]]. 
* September 12, 2006 - It may be possible for a user with the ability to set the X server font path, by making it point to a malicious font, to cause arbitrary code execution or denial of service on the X server. Please see [[the advisory|http://lists.freedesktop.org/archives/xorg-announce/2006-September/000128.html]] for more information. Patches are available for [[6.8.2|Releases/6.8.2]], [[6.9.0|Releases/6.9]], [[7.0|Releases/7.0]] and [[7.1|Releases/7.1]]. 

## X.Org 6.9.0/7.0

* June 20, 2006 - A lack of checks for setuid() failures when invoked by a privileged process (e.g., X server, xdm, xterm, if installed setuid or setgid) may cause the process to execute certain privileged operations (file access) as root while it was intended to be executed with a less privileged effective user ID, on systems where setuid() called by root can fail.  This can be used by a malicious local user to overwrite files and possibly elevate privileges in some corner cases. Please see [[the advisory|http://lists.freedesktop.org/archives/xorg-announce/2006-June/000100.html]] for more information. Patches are available for [[6.8.2|Releases/6.8.2]], [[6.9.0|Releases/6.9]], [[7.0|Releases/7.0]] and [[7.1|Releases/7.1]]. 
* May 2, 2006 - A security vulnerability has been found in the X.Org server as shipped with X11R6.8.x, X11R6.9.0 and X11R7.0 (xorg-server 1.0.x) -- this is [[CVE-2006-1526|http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-1526]]. Clients authorized to connect to the X server are able to crash it and to execute malicious code within the X server. Please see [[the advisory|http://lists.freedesktop.org/archives/xorg/2006-May/015136.html]] for more information. Patches are available for [[6.8.2|Releases/6.8.2]], [[6.9.0|Releases/6.9]] and [[7.0|Releases/7.0]]. 
* March 20, 2006 - A security vulnerability has been found in the X.Org server as shipped with X11R6.9.0 and X11R7.0 (xorg-server 1.0.0 and 1.0.1) -- this is [[CVE-2006-0745|http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-0745]].  Local users were able to escalate privileges to root and cause a DoS if the Xorg server was installed setuid root (the default).  Note that earlier releases are not vulnerable. Please see [[the advisory|http://lists.freedesktop.org/archives/xorg/2006-March/013858.html]] for more information.  Patches are available for [[6.9.0|Releases/6.9]] and [[7.0|Releases/7.0]].  If you are running X11R7.0, you can upgrade xorg-server to 1.0.2 or later ([[release announcement|http://lists.freedesktop.org/archives/xorg/2006-March/013993.html]]). 

## X.Org 6.8.2

* September 12, 2005 - Due to missing range checks for the pixel size of the pixmap subsequent pixmap read/write functions can access memory outside of the allocated pixmap by any X client that can connect to the affected X server. This way any user having access to the server can access memory that is accessible from within the X server and/or crash the server. The CVE number for these vulnerabilities is [[CAN-2005-2495|http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2005-2495]]. A patch against [[6.8.2|Releases/6.8.2]] is available. 

## X.Org 6.8.1

* November 17, 2004 - X.Org was made aware of additional security vulnerability in libXpm, the X Pixmap library, which is shipped as part of the X Window System. The affected library is used in many popular application for image viewing and manipulation. The Common Vulnerabilities and Exposures (CVE) project has assigned the name [[CAN-2004-0914|http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2004-0914]] to these issues. Patches are provided for [[6.8.0|Releases/6.8]] and [[6.8.1|Releases/6.8.1]]. The problem is fixed in 6.8.2 and later. 

## X.Org 6.8.0

* September 15, 2004 - A security vulnerability has been found in libXpm, the X pixmap library which is shipped as part of the X Window System. Please check [[here|http://ftp.x.org/pub/X11R6.8.0/patches/README.xorg-CAN-2004-0687-0688.patch]] for further information. This problem has been fixed in [[6.8.1|Releases/6.8.1]]. We also provide a patch for [[6.8.0|Releases/6.8]] and earlier. 

## X11R6.6 and older

_This is not a complete listing of older security issues, just those discovered more recently_ 

* July 24, 2012 - CVE-2012-1699: A vulnerability has been found in the X11R6 font server code in the handling of the `SetEventMask` request in xfs which can lead to either denial of service or a leak of information from the xfs process address space. Please see [[the advisory|http://lists.freedesktop.org/archives/xorg-announce/2012-July/002040.html]] for more information. Patch is included in the advisory. Fix is included in XFree86 3.3.3 and later, and X.Org X11R6.7 and later. 

_For older vulnerabilities, check the [Open Source Vulnerability Database (OSVDB)](http://osvdb.org/) pages for [X.Org](http://osvdb.org/vendor/22112-x-org-foundation/1 "OSVDB: Vulnerabilities for X.Org Foundation software") and [XFree86](http://osvdb.org/vendor/1714-xfree86-project-inc/1 "OSVDB: Vulnerabilities for XFree86 Project, Inc. software")._