Information

Advisory XSA-72
Public release 2013-10-29 12:00
Updated 2013-10-29 15:39
Version 3
CVE(s) CVE-2013-4416
Title ocaml xenstored mishandles oversized message replies

Files

advisory-72.txt (signed advisory file)
xsa72.patch

Advisory


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

             Xen Security Advisory CVE-2013-4416 / XSA-72
                             version 3

         ocaml xenstored mishandles oversized message replies

UPDATES IN VERSION 3
====================

Public release.

ISSUE DESCRIPTION
=================

The Ocaml xenstored implementation ("oxenstored") cannot correctly handle
a message reply larger than XENSTORE_PAYLOAD_SIZE when communicating
with a client domain via the shared ring mechanism.

When this situation occurs the connection to the client domain will be
shutdown and cannot be restarted leading to a denial of service to
that domain.

Clients in the same domain as xenstored which are using the Unix
domain socket mechanism are not vulnerable.

IMPACT
======

A malicious domain can create a directory containing a large number of
entries in the hopes that a victim domain will attempt to list the
contents of that directory. If this happens then the victim domain's
xenstore connection will be shutdown leading to a denial of service
against that domain.

If the victim domain is a toolstack or control domain then this can
lead to a denial of service against the whole system.

VULNERABLE SYSTEMS
==================

All systems using oxenstored are potentially vulnerable.

oxenstored was added in Xen 4.1.0. From Xen 4.2.0 onward it is used by
default if an ocaml toolstack was present at build time.

In its default configuration the C xenstored implementation is not
vulnerable.  By default this implementation imposes a quota on the
maximum directory size which is less than XENSTORE_PAYLOAD_SIZE.  If
you have adjusted the quota using the --entry-size / -S option to a
value larger than XENSTORE_PAYLOAD_SIZE (4096 bytes) then you may be
vulnerable.

Systems where the toolstack and oxenstored live in the same domain
will default to using Unix domain socket based communications and
therefore are not vulnerable to the host wide denial of service by
default.  In such a configuration guest domains which do not list
xenstore paths belonging to untrusted foreign domains will not be
vulnerable to the DoS.  (In the common case guests will not have
permission to do so in any case.)

MITIGATION
==========

Switching to the C xenstored (in its default configuration), will
eliminate this vulnerability.

CREDITS
=======

This issue was discovered by Thomas Sanders at Citrix.

RESOLUTION
==========

Applying the appropriate attached patch resolves both the ocaml xenstore and C
xenstore issues.

xsa72.patch        xen-unstable, Xen 4.3.x, Xen 4.2.x

$ sha256sum xsa72*.patch
66e11513fc512173140f3ca12568f8ef79415e9a7884254a700991b3f1afd125  xsa72.patch
$
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iQEcBAEBAgAGBQJSb9aMAAoJEIP+FMlX6CvZU6MH/2Racg6r+JLka2jqPO3X+BCh
+Dvkp2s85lQ/i7lUDq7V/1Badc+GpqCAoysgjh0bMSyXpPwaz3N+JhcgSEzWbXoU
IlQQUWGA86jO7x0g1HBIfvmf6o+ALWKkoyLiOZ3ZgpibO/vkl+8qU6yiD+r0XDaM
TTcsuRrosw6wbVsPkL7wGpTsQD1JA/FSKd7BpsQRMjxUeMtTeBtPN1o+zsvGf7he
A8MYe55XXYZbHv/S9yuBCHXtCU+QRtuGJGODIPACOqsaqWETIf013sxCORAmqg3x
bNEm3R0EJl3pO8Hdd2kTzIjRHgLn9LEKTIQU4+IYj0jOqXsMYjalFIL2RFC2lzI=
=vgDt
-----END PGP SIGNATURE-----

Xenproject.org Security Team