tools/ocaml/xenstored: only Dom0 can change node owner
authorEdwin Török <edvin.torok@citrix.com>
Tue, 15 Dec 2020 12:37:33 +0000 (13:37 +0100)
committerJan Beulich <jbeulich@suse.com>
Tue, 15 Dec 2020 12:37:33 +0000 (13:37 +0100)
commit2a3f8d12f00ea87c8ac84b8a2f84d1afe42230f3
tree5cb5924c3a08baae9ab7b91132e2e2ad1afea4d8
parent491a077ed4c51f26ee77bc92ca346942482cf24e
tools/ocaml/xenstored: only Dom0 can change node owner

Otherwise we can give quota away to another domain, either causing it to run
out of quota, or in case of Dom0 use unbounded amounts of memory and bypass
the quota system entirely.

This was fixed in the C version of xenstored in 2006 (c/s db34d2aaa5f5,
predating the XSA process by 5 years).

It was also fixed in the mirage version of xenstore in 2012, with a unit test
demonstrating the vulnerability:

  https://github.com/mirage/ocaml-xenstore/commit/6b91f3ac46b885d0530a51d57a9b3a57d64923a7
  https://github.com/mirage/ocaml-xenstore/commit/22ee5417c90b8fda905c38de0d534506152eace6

but possibly without realising that the vulnerability still affected the
in-tree oxenstored (added c/s f44af660412 in 2010).

This is XSA-352.

Signed-off-by: Edwin Török <edvin.torok@citrix.com>
Acked-by: Christian Lindig <christian.lindig@citrix.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
tools/ocaml/xenstored/store.ml