An issue was discovered in Xen 4.5.x through 4.9.x. The function __gnttab_cache_flush
handles GNTTABOPcacheflush grant table operations. It checks to see if the calling domain is the owner of the page that is to be operated on. If it is not, the owner's grant table is checked to see if a grant mapping to the calling domain exists for the page in question. However, the function does not check to see if the owning domain actually has a grant table or not. Some special domains, such as DOMID_XEN
, DOMID_IO
and DOMID_COW
are created without grant tables. Hence, if _gnttabcache_flush operates on a page owned by these special domains, it will attempt to dereference a NULL pointer in the domain struct.
{ "availability": "No subscription required", "ubuntu_priority": "medium", "binaries": [ { "binary_version": "4.6.5-0ubuntu1.4", "binary_name": "libxen-4.6" }, { "binary_version": "4.6.5-0ubuntu1.4", "binary_name": "libxen-4.6-dbgsym" }, { "binary_version": "4.6.5-0ubuntu1.4", "binary_name": "libxen-dev" }, { "binary_version": "4.6.5-0ubuntu1.4", "binary_name": "libxenstore3.0" }, { "binary_version": "4.6.5-0ubuntu1.4", "binary_name": "libxenstore3.0-dbgsym" }, { "binary_version": "4.6.5-0ubuntu1.4", "binary_name": "xen-hypervisor-4.4-amd64" }, { "binary_version": "4.6.5-0ubuntu1.4", "binary_name": "xen-hypervisor-4.4-arm64" }, { "binary_version": "4.6.5-0ubuntu1.4", "binary_name": "xen-hypervisor-4.4-armhf" }, { "binary_version": "4.6.5-0ubuntu1.4", "binary_name": "xen-hypervisor-4.5-amd64" }, { "binary_version": "4.6.5-0ubuntu1.4", "binary_name": "xen-hypervisor-4.5-arm64" }, { "binary_version": "4.6.5-0ubuntu1.4", "binary_name": "xen-hypervisor-4.5-armhf" }, { "binary_version": "4.6.5-0ubuntu1.4", "binary_name": "xen-hypervisor-4.6-amd64" }, { "binary_version": "4.6.5-0ubuntu1.4", "binary_name": "xen-hypervisor-4.6-arm64" }, { "binary_version": "4.6.5-0ubuntu1.4", "binary_name": "xen-hypervisor-4.6-armhf" }, { "binary_version": "4.6.5-0ubuntu1.4", "binary_name": "xen-system-amd64" }, { "binary_version": "4.6.5-0ubuntu1.4", "binary_name": "xen-system-arm64" }, { "binary_version": "4.6.5-0ubuntu1.4", "binary_name": "xen-system-armhf" }, { "binary_version": "4.6.5-0ubuntu1.4", "binary_name": "xen-utils-4.6" }, { "binary_version": "4.6.5-0ubuntu1.4", "binary_name": "xen-utils-4.6-dbgsym" }, { "binary_version": "4.6.5-0ubuntu1.4", "binary_name": "xen-utils-common" }, { "binary_version": "4.6.5-0ubuntu1.4", "binary_name": "xenstore-utils" }, { "binary_version": "4.6.5-0ubuntu1.4", "binary_name": "xenstore-utils-dbgsym" } ] }