An issue was discovered in Xen through 4.11.x. The logic in oxenstored for handling writes depended on the order of evaluation of expressions making up a tuple. As indicated in section 7.7.3 "Operations on data structures" of the OCaml manual, the order of evaluation of subexpressions is not specified. In practice, different implementations behave differently. Thus, oxenstored may not enforce the configured quota-maxentity. This allows a malicious or buggy guest to write as many xenstore entries as it wishes, causing unbounded memory usage in oxenstored. This can lead to a system-wide DoS.
Se ha descubierto un problema en Xen hasta las versiones 4.11.x. La lógica en oxenstored para el manejo de las escrituras dependía del orden de evaluación de las expresiones que formaban una tupla. Tal y como se indica en el apartado 7.7.3 "Operaciones sobre estructuras de datos" del manual OCaml, no se especifica el orden de evaluación de las subexpresiones. En la práctica, las diferentes implementaciones se comportan de manera diferente. Por lo tanto, es posible que oxenstored no aplique la cuota máxima configurada. Esto permite a un guest malicioso o con defectos escribir tantas entradas xenstore como desee, causando un uso ilimitado de memoria en oxenstored. Esto puede conducir a una denegación de servicio en todo el sistema.