|Public release ||2013-10-29 12:00|
|Updated ||2013-10-29 15:39|
|Title ||ocaml xenstored mishandles oversized message replies|
Filesadvisory-72.txt (signed advisory file)
-----BEGIN PGP SIGNED MESSAGE-----
Xen Security Advisory CVE-2013-4416 / XSA-72
ocaml xenstored mishandles oversized message replies
UPDATES IN VERSION 3
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
Clients in the same domain as xenstored which are using the Unix
domain socket mechanism are not vulnerable.
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.
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
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.)
Switching to the C xenstored (in its default configuration), will
eliminate this vulnerability.
This issue was discovered by Thomas Sanders at Citrix.
Applying the appropriate attached patch resolves both the ocaml xenstore and C
xsa72.patch xen-unstable, Xen 4.3.x, Xen 4.2.x
$ sha256sum xsa72*.patch
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
-----END PGP SIGNATURE-----
Xenproject.org Security Team