summaryrefslogtreecommitdiff
path: root/Development/Security/Advisory-2015-02-10.mdwn
blob: 3b94ce517e3ff3467e4cf22592056fb5bf90f5b0 (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
# X.Org Security Advisory: CVE-2015-0255: Feb 10, 2015

## Information leak in the XkbSetGeometry request of X servers

### Description

Olivier Fourdan from Red Hat has discovered a protocol handling issue in the
way the X server code base handles the XkbSetGeometry request.

The issue stems from the server trusting the client to send valid string
lengths in the request data. A malicious client with string lengths
exceeding the request length can cause the server to copy adjacent memory
data into the XKB structs. This data is then available to the client via the
XkbGetGeometry request.
The data length is at least up to 64k, it is possible to obtain more data by
chaining strings, each string length is then determined by whatever happens
to be in that 16-bit region of memory.

A similarly crafted request can likely cause the X server to crash.

This issue has been assigned CVE-2015-0255

### Affected Versions

This bug appears to have been introduced in X11R6.6 (March 1996) and is thus
believed to be present in every X server release since, including the
current stable release 1.16.3 and 1.17.0.

### Fixes

A fix is available via the patch linked below which is intended to be
included in xorg-server-1.16.4 and 1.17.1

[http://cgit.freedesktop.org/xorg/xserver/commit/?id=20079c36cf7d377938ca5478447d8b9045cb7d43](http://cgit.freedesktop.org/xorg/xserver/commit/?id=20079c36cf7d377938ca5478447d8b9045cb7d43)

Note that this patch requires another patch to apply without conflicts:

[http://cgit.freedesktop.org/xorg/xserver/commit/?id=81c90dc8f0aae3b65730409b1b615b5fa7280ebd](http://cgit.freedesktop.org/xorg/xserver/commit/?id=81c90dc8f0aae3b65730409b1b615b5fa7280ebd)

### Thanks

The X.Org Foundation thanks Olivier for bringing this issue to our attention
and providing the fixes.