520 matches found
Linux xen-netback: guest can trigger double unmap of memory
ISSUE DESCRIPTION When xen-netback is setting up the connection to a frontend, it is mapping the ring pages and then validating the ring pages' contents. In case the ring index values are illegal, xen-netback tries to unmap all allocated resources of the connection. Due to a missing test for...
Linux xen-netback: guest can trigger use-after-free for network statistics reads
ISSUE DESCRIPTION The network statistic data in the driver is protected by RCU. Unfortunately when tearing down the queues after an error during connecting to the frontend e.g. due to illegal Xenstore data filled in by the guest, there was missing RCU synchronization before freeing the memory...
x86: Transient Scheduler Attacks (update)
ISSUE DESCRIPTION AMD have discovered further properties of Transient Scheduler Attacks. The previously published XSA-471 dealt with two TSA variants, TSA-SQ and TSA-L1 on Zen3 and Zen4 CPUs. For details, see XSA-471. AMD had previously said that Zen5 CPUs were not vulnerable to TSA-SQ and TSA-L1...
XAPI: data-dependent compare function used for Pool Secret
ISSUE DESCRIPTION XAPI has a bearer token used to authenticate requests made between hosts in a pool, known as the Pool Secret. Comparison of this token is performed with a function which has data-dependent timing. An attacker may be able to use this as a timing oracle to infer the value of the...
XAPI: Multiple RBAC issues (update)
ISSUE DESCRIPTION XAPI can configure different users with different roles, using Role Based Access Control. For more details, see: https://docs.xenserver.com/us/en/xencenter/current-release/users/rbac-overview.htmlrbac-roles The pool-admin role is fully privileged. Notably, users with this role c...
AMD IOMMU Out-of-Bounds Device Table Read
ISSUE DESCRIPTION With AMD IOMMUs, the OS or Hypervisor chooses the position and size of the Device Table, which holds the main configuration information for devices. AMD have disclosed a vulnerability in some IOMMUs, whereby under specific circumstances they read beyond the size chosen by the OS...
Linux xen-netback: guest can trigger use-after-free for reading multicast data
ISSUE DESCRIPTION Multicast handling in the driver is implemented as a lookup early on the transmit guest receive path. The respective function can be invoked in parallel with teardown of a device. Thus the lookup may access data which was already freed, with that memory perhaps already being in...
Linux xen-blkback: guest can trigger use-after-free for reading statistic data
ISSUE DESCRIPTION The driver does not serialise reads of the device I/O statistics against the freeing of the memory that holds them. This leads to a use-after-free when reading statistical counters while the device is being torn down. IMPACT This most likely crashes the driver, and possibly the...
Linux xen-netback: guest can trigger use-after-free for
ISSUE DESCRIPTION The network statistic data in the driver is protected by RCU. Unfortunately when tearing down the queues after an error during connecting to the frontend e.g. due to illegal Xenstore data filled in by the guest, the statistic data is being freed without synchronizing the RCU...
arbitrary read/write via grant copy
ISSUE DESCRIPTION A common access pattern is a batch of Grant Copy operations acting on adjacent address ranges in the same source or destination page. For performance reasons, Xen caches details internally to reuse already validated data. The conditions on when to re-validate the internal data...
grant-table: double version change race
ISSUE DESCRIPTION XSA-501 was about issues with v1 - v2 and v2 - v1 changes racing certain other grant table operations. Sadly a v2 - v1 - v2 change has yet another effect which wasn't accounted for: During the first change, status pages would be freed. During the second change they would be...
Arm: multiple issues with GNTTABOP_cache_flush
ISSUE DESCRIPTION 1 XSA-437 CVE-2023-34321 addressed issues with overflows in calculations involved in guests flushing caches through GNTTABOPcacheflush. Unfortunately the fix there introduced a calculation which may underflow, resulting in a loop which would - at least on 64-bit Arm - take...
tapdisk: Out-of-bounds access in tap_ctl_connect_xenblkif()
ISSUE DESCRIPTION Tapdisk is a userspace xen-blkback implementation used by the XAPI toolstack. During connection, multi-page rings may be negotiated between the frontend and backend. Tapdisk had no boundary check on the size requested by the frontend, and assumed it did not exceed 8. IMPACT A...
VMX: VMentry failure with branch tracing and blocked states
ISSUE DESCRIPTION For XSA-308 logic was introduced, as VMX VMEntry checks do not like the exact combination of state which occurs when DB in intercepted, Single Stepping is active, and blocked by STI/MovSS is active, despite this being a legitimate state to be in. The resulting VMEntry failure is...
gnttab: cache-flush handling may cause page reference leak
ISSUE DESCRIPTION With its original introduction, GNTTABcacheflush was made available uniformly. XSA-232 CVE-2017-14318 then covered an omitted NULL pointer check, yet the addition of that check failed to adjust the subsequent error path. That error path fails to drop a page reference in case the...
x86: XPTI may break on huge-memory systems
ISSUE DESCRIPTION XPTI Xen Page Table Isolation was introduced to mitigate Meltdown CVE-2017-5754, one aspect of XSA-254. This involves copying 64-bit PV guest page table entries from guest-chosen root page tables to the Xen- chosen one which is in actual use by hardware. To read the guest root...
x86/AMD: ineffectual Zenbleed workaround
ISSUE DESCRIPTION The workaround for XSA-433 Zenbleed, CVE-2023-20593 was later re-worked to better integrate with other manipulations of the same MSR. In this rework an inverted conditional was introduced, resulting in the workaround to not be applied when needed and vice versa. For more details...
Xenstore: Guests can crash xenstored during Live Update
ISSUE DESCRIPTION During Xenstore live update the state record for a Xenstore watch with specified watch depth is written with two bytes missing. This results in an inconsistent state when reading the state back in the new Xenstore, causing a crash of Xenstore or wrong Xenstore data. IMPACT An...
Linux xen-netfront: backend can crash guest via malformed RX packets
ISSUE DESCRIPTION If a RX packet sent from the networking backend to the Linux xen-netfront driver is split into multiple slots and the first slot is shorter than an Ethernet header, a BUG will crash the guest. This is a backend induced Denial of Service DoS. IMPACT A malicious network backend ca...
Out-of-bounds accesses in Tapdisk
ISSUE DESCRIPTION Tapdisk is a userspace xen-blkback implementation used by the XAPI toolstack. Several bounds checks have been found to be incorrect. There is no upper bounds check for blkif-lastsect. Passing a value larger than 7 will result in a read or write beyond the mapped grant. This is...
Unconditionally do TLB flushing ahead of page scrubbing
ISSUE DESCRIPTION x86 PV guests can free memory pages while still keeping a stale TLB entry pointing to them. A TLB flush is only issued by Xen if needed when the page is re-used. Since it's possible for the page to be scrubbed ahead of the TLB flush, there's a window where a PV guest can modify ...
x86: DMs may cause mem leak by IRQ binding
ISSUE DESCRIPTION When guests are terminated, various pieces of cleanup need carrying out. The cleaning up of PCI devices which were assigned to guests, and the associated removal of tracking structures for IRQs used by the devices occurs relatively early in the process. Unfortunately after that...
oxenstored: Unbounded accumulation of watches
ISSUE DESCRIPTION Oxenstored maintains two datastructures about watches; one global trie, and one hashtable tracked per domain. When a xenbus reconnect is requested, watches are not cleared out of the global trie. IMPACT A guest can cause unbounded memory usage in oxenstored. This can lead to a...
x86: improper handling of HVM emulation return codes
ISSUE DESCRIPTION A guest with a PCI device assigned that has at least a BAR on the IO port space can trigger a BUG in Xen. IMPACT Passing through a PCI device with at least one BAR in IO address space to unprivileged HVM guests can result in a Denial of Service DoS affecting the entire host...
x86: Out-of-bounds read in vRTC emulation
ISSUE DESCRIPTION Accesses to the CMOS memory contents are done using an indirect IO port pair. Therefore Xen needs to cache the guest chosen index, and one of the usages of the index didn't take the necessary locking to avoid concurrent changes. As a result, a guest could change the index after ...
vNUMA domain cleanup may race other operations
ISSUE DESCRIPTION Accessing the vNUMA configuration data of a guest is still possible when domain destruction has already started. The cleaning up of that configuration information is not synchronized with its retrieval by a device model controlling the guest. IMPACT While Denial of Service DoS...
x86 shadow paging is deprecated
ISSUE DESCRIPTION Addressing certain issues, in particular related to operations which may take excessively long and therefore would need preemption, has turned out overly costly. Since alternatives HVM/PVH: HAP, PV: shim are commonly available, the decision was to deprecate the functionality,...
evtchn: Race between FIFO expand and reset
ISSUE DESCRIPTION The EVTCHNOPexpandarray hypercall checks for whether FIFO event channels are enabled, but without holding the correct lock. It can race with EVTCHNOPreset, resulting in dereferencing a NULL pointer. IMPACT A malicious HVM guest x86 HVM or PVH, and ARM can crash Xen leading to a...
PoD: Don't try to reclaim special pages
ISSUE DESCRIPTION A guest started with Populated on Demand enabled PoD can attempt to reclaim pages which aren't regular guest RAM. This can cause corruption of memory management state in Xen. IMPACT A buggy or malicious guest can cause corruption of Xen's state, leading to crashes or other...
Viridian STIMER division by zero
ISSUE DESCRIPTION The logic to handle periodic Viridian STIMERs performs a division with an unchecked user-controlled divisor value, that can be set to zero to cause a DE fault. IMPACT Enabling Viridian STIMERs to unprivileged HVM guests can result in a Denial of Service DoS affecting the entire...
grant-table: type confusion in grant-copy
ISSUE DESCRIPTION When grant-copy operations are processed, the respective grant may or may not already be in use by another operation a mapping or another copy. For all copy operations the referenced guest frame is looked up. When another operation is already active for the grant the grant is...
sysctl and platform-op locks open to abuse
ISSUE DESCRIPTION To manage the system, sysctl and platform operations are used by the control domain or a possible Xenstore domain. Some of these operations may not be executed in parallel, so a system-wide lock each is used. The way those locks are acquired is, however, not providing any...
pygrub is only supported in de-privileged mode
ISSUE DESCRIPTION XSA-443 and XSA-497 addressed specific issues in specific file system drivers libfsimage used by pygrub. Further issues were reported, and yet more are to be expected. XSA-443 introduced a means to run pygrub de-privileged. Only this mode of operation is security supported from...
grant-table: version change racing with other operations
ISSUE DESCRIPTION With the introduction of Grant Table v2 came the requirement to be able to switch between versions. Switching from v1 to v2 reduces the number of valid grant references, as a bigger shared entry structure is then needed while the shared table doesn't change size. Switching from ...
buffer overruns in libfsimage iso9660 handling
ISSUE DESCRIPTION The directory and Rock Ridge / SUSP walk in libfsimage's iso9660 driver derives several lengths directly from attacker-controlled on-disk fields without validating them: The directory loop itself assumes a good record length. This is CVE-2026-42494. The calculation of the System...
vIRQ event channel binding may break Xenstore
ISSUE DESCRIPTION Xenstore, to have an up-to-date picture of the entire system, wants to know of domains appearing and disappearing. To make this more robust, a new XENDOMCTLgetdomainstate was introduced. The management of the bitmap underlying that operation is tied into the binding of the...
correct buffer checks for DM_OP hypercalls
ISSUE DESCRIPTION Parts of the DMOP handling code assumes the caller has provided the required number of buffers for the given operation without any checking being done. As a result, certain operations might access stack rubble as structures are possibly uninitialized. IMPACT A device model of a...
XAPI: Missing TLS verification in some SDKs
ISSUE DESCRIPTION XAPI provides SDKs; bindings for the API in various programming languages. These are artefacts from a build of XAPI, intended for integration into 3rd party products. In all SDKs, there is a main RPC connection to the XAPI host. TLS for this connection is verified properly, or...
x86: mismatched mapcache metadata
ISSUE DESCRIPTION Some shadow paging errors paths will switch the page-tables without updating the currently running vCPU reference. This causes a mismatch between the loaded page-tables and the mapcache metadata which can lead to corruption of the mapcache. IMPACT Privilege escalation, Denial of...
x86 HVM I/O port list traversal
ISSUE DESCRIPTION HVM guest I/O port accesses are subject to either emulation or at least translation. Translations are managed by the device model via XENDOMCTLioportmapping, and hence the linked list used may changed at any time. Traversal of those lists while handling guest I/O port accesses...
Arm: Completion of memory accesses not guaranteed by completion of a TLBI
ISSUE DESCRIPTION A hardware issue has been identified in certain Arm CPU designs. A broadcast TLBI on one PE may complete before affected memory accesses on another PE are globally observed. This may permit bypass of Stage 1 translation, Stage 2 translation, or GPT protection. The erratum occurs...
domctl lock open to abuse
ISSUE DESCRIPTION To create and manage guests, domctl operations are used by the control domain, a possible Xenstore domain, or by a domain controlling a particular guest. Some of these operations may not be executed in parallel, so a system-wide lock is used. The way that lock is acquired is,...
x86: CPU Opcode Cache corruption
ISSUE DESCRIPTION AMD have disclosed a potential vulnerability in certain CPUs which can cause instructions to execute at a higher privilege. For more information, see: https://www.amd.com/en/resources/product-security/bulletin/amd-sb-7052.html IMPACT Code of any privilege could escalate to a...
Multiple RBAC issues in XAPI
ISSUE DESCRIPTION XAPI can configure different users with different roles, using Role Based Access Control. For more details, see: https://docs.xenserver.com/en-us/xencenter/current-release/rbac-overview.htmlrbac-roles The pool-admin role is fully privileged. Notably, users with this role can als...
Linux kernel double free in Xen privcmd driver
ISSUE DESCRIPTION The Linux kernel's privcmd driver can be abused to circumvent kernel lockdown secure boot by causing a double free of kernel memory. Note that this operation can be performed by root only, so any further impact on the system like denial of service is not security relevant. IMPAC...
Xenstored DoS via XS_RESET_WATCHES command
ISSUE DESCRIPTION Any guest can cause xenstored to crash by issuing a XSRESETWATCHES command within a transaction due to an assert triggering. In case xenstored was built with NDEBUG defined nothing bad will happen, as assert is doing nothing in this case. Note that the default is not to define...
oxenstored keeps quota related use counts across domain destruction
ISSUE DESCRIPTION When oxenstored is tearing a domain down, the node data is cleaned up but the usage counts are leaked. When the domain ID is eventually reused, the new domain can create fewer nodes before beeing deemed to be over quota. IMPACT Over an extended period of time, new domains will b...
grant table v2 race in status page mapping
ISSUE DESCRIPTION The adjustments made for XSA-379 as well as those subsequently becoming XSA-387 still left a race window, when a HVM or PVH guest does a grant table version change from v2 to v1 in parallel with mapping the status pages via XENMEMaddtophysmap. Some of the status pages may then b...
Linux kernel out of bounds read via Xen-related sysfs file
ISSUE DESCRIPTION The Linux sysfs file /sys/hypervisor/properties/buildid does not contain printable information, but a binary value of typically 16 or 20 bytes, which is not terminated by a zero byte. The kernel driver making this information available is using the sprintf function for writing t...
x86: Floating Point Divider State Sampling
ISSUE DESCRIPTION Researchers from the CISPA Helmholtz Center for Information Security have discovered Floating Point Divider State Sampling. It is detailed in a paper titled "TREVEX: A Black-Box Detection Framework For Data-Flow Transient Execution Vulnerabilities" For more information, see:...