Bug 57912 - xen: Multiple issues (5.2)
Summary: xen: Multiple issues (5.2)
Status: CLOSED FIXED
Alias: None
Product: UCS
Classification: Unclassified
Component: Security updates
Version: UCS 5.2
Hardware: All Linux
: P3 normal
Target Milestone: UCS 5.2-0-errata
Assignee: Quality Assurance
QA Contact: Dirk Wiesenthal
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-01-30 16:47 CET by Quality Assurance
Modified: 2025-02-05 15:53 CET (History)
0 users

See Also:
What kind of report is it?: Security Issue
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Customer ID:
Max CVSS v3 score: 7.5 (CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:H/I:H/A:H) NVD RedHat


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Quality Assurance univentionstaff 2025-01-30 16:47:38 CET
New Debian xen 4.17.5+23-ga4e5191dc0-1 fixes:
This update addresses the following issues:
* kernel: Local information disclosure on Intel(R) Atom(R) processors  (CVE-2023-28746)
* Recent x86 CPUs offer functionality named Control-flow Enforcement  Technology (CET). A sub-feature of this are Shadow Stacks (CET-SS). CET-SS  is a hardware feature designed to protect against Return Oriented  Programming attacks. When enabled, traditional stacks holding both data and  return addresses are accompanied by so called "shadow stacks", holding  little more than return addresses. Shadow stacks aren't writable by normal  instructions, and upon function returns their contents are used to check  for possible manipulation of a return address coming from the traditional  stack. In particular certain memory accesses need intercepting by Xen. In  various cases the necessary emulation involves kind of replaying of the  instruction. Such replaying typically involves filling and then invoking of  a stub. Such a replayed instruction may raise an exceptions, which is  expected and dealt with accordingly. Unfortunately the interaction of both  of the above wasn't right: Recovery involves removal of a call frame from  the (traditional) stack. The counterpart of this operation for the shadow  stack was missing. (CVE-2023-46841)
* Unlike 32-bit PV guests, HVM guests may switch freely between 64-bit and  other modes. This in particular means that they may set registers used to  pass 32-bit-mode hypercall arguments to values outside of the range 32-bit  code would be able to set them to. When processing of hypercalls takes a  considerable amount of time, the hypervisor may choose to invoke a  hypercall continuation. Doing so involves putting (perhaps updated)  hypercall arguments in respective registers. For guests not running in  64-bit mode this further involves a certain amount of translation of the  values. Unfortunately internal sanity checking of these translated values  assumes high halves of registers to always be clear when invoking a  hypercall. When this is found not to be the case, it triggers a consistency  check in the hypervisor and causes a crash. (CVE-2023-46842)
* hw: Spectre-SRC that is Speculative Race Conditions (SRCs) for  synchronization primitives similar like Spectre V1 with possibility to  bypass software features (e.g., IPIs, high-precision timers, etc)  (CVE-2024-2193)
* hw: cpu: intel: Native Branch History Injection (BHI) (CVE-2024-2201)
* Because of a logical error in XSA-407 (Branch Type Confusion), the  mitigation is not applied properly when it is intended to be used. XSA-434  (Speculative Return Stack Overflow) uses the same infrastructure, so is  equally impacted. For more details, see:  https://xenbits.xen.org/xsa/advisory-407.html  https://xenbits.xen.org/xsa/advisory-434.html (CVE-2024-31142)
* An optional feature of PCI MSI called "Multiple Message" allows a device to  use multiple consecutive interrupt vectors. Unlike for MSI-X, the setting  up of these consecutive vectors needs to happen all in one go. In this  handling an error path could be taken in different situations, with or  without a particular lock held. This error path wrongly releases the lock  even when it is not currently held. (CVE-2024-31143)
* Certain PCI devices in a system might be assigned Reserved Memory Regions  (specified via Reserved Memory Region Reporting, "RMRR") for Intel VT-d or  Unity Mapping ranges for AMD-Vi. These are typically used for platform  tasks such as legacy USB emulation. Since the precise purpose of these  regions is unknown, once a device associated with such a region is active,  the mappings of these regions need to remain continuouly accessible by the  device. In the logic establishing these mappings, error handling was  flawed, resulting in such mappings to potentially remain in place when they  should have been removed again. Respective guests would then gain access to  memory regions which they aren't supposed to have access to.  (CVE-2024-31145)
* When multiple devices share resources and one of them is to be passed  through to a guest, security of the entire system and of respective guests  individually cannot really be guaranteed without knowing internals of any  of the involved guests. Therefore such a configuration cannot really be  security-supported, yet making that explicit was so far missing. Resources  the sharing of which is known to be problematic include, but are not  limited to - - PCI Base Address Registers (BARs) of multiple devices  mapping to the same page (4k on x86), - - INTx lines. (CVE-2024-31146)
* In x86's APIC (Advanced Programmable Interrupt Controller) architecture,  error conditions are reported in a status register. Furthermore, the OS can  opt to receive an interrupt when a new error occurs. It is possible to  configure the error interrupt with an illegal vector, which generates an  error when an error interrupt is raised. This case causes Xen to recurse  through vlapic_error(). The recursion itself is bounded; errors accumulate  in the the status register and only generate an interrupt when a new status  bit becomes set. However, the lock protecting this state in Xen will try to  be taken recursively, and deadlock. (CVE-2024-45817)
* The hypervisor contains code to accelerate VGA memory accesses for HVM  guests, when the (virtual) VGA is in "standard" mode. Locking involved  there has an unusual discipline, leaving a lock acquired past the return  from the function that acquired it. This behavior results in a problem when  emulating an instruction with two memory accesses, both of which touch VGA  memory (plus some further constraints which aren't relevant here). When  emulating the 2nd access, the lock that is already being held would be  attempted to be re-acquired, resulting in a deadlock. This deadlock was  already found when the code was first introduced, but was analysed  incorrectly and the fix was incomplete. Analysis in light of the new  finding cannot find a way to make the existing locking discipline work. In  staging, this logic has all been removed because it was discovered to be  accidentally disabled since Xen 4.7. Therefore, we are fixing the locking  problem by backporting the removal of most of the feature. Note that even  with the feature disabled, the lock would still be acquired for any  accesses to the VGA MMIO region. (CVE-2024-45818)
* PVH guests have their ACPI tables constructed by the toolstack. The  construction involves building the tables in local memory, which are then  copied into guest memory. While actually used parts of the local memory are  filled in correctly, excess space that is being allocated is left with its  prior contents. (CVE-2024-45819)
Comment 1 Quality Assurance univentionstaff 2025-01-30 17:00:29 CET
--- mirror/ftp/pool/main/x/xen/xen_4.17.3+10-g091466ba55-1~deb12u1.dsc
+++ apt/ucs_5.2-0-errata5.2-0/source/xen_4.17.5+23-ga4e5191dc0-1.dsc
@@ -1,3 +1,37 @@
+4.17.5+23-ga4e5191dc0-1 [Fri, 20 Dec 2024 18:46:37 +0100] Hans van Kranenburg <hans@knorrie.org>:
+
+  * Update to new upstream version 4.17.5+23-ga4e5191dc0, which also contains
+    security fixes for the following issues:
+    - x86: shadow stack vs exceptions from emulation stubs
+      XSA-451 CVE-2023-46841
+    - x86: Register File Data Sampling
+      XSA-452 CVE-2023-28746
+    - GhostRace: Speculative Race Conditions
+      XSA-453 CVE-2024-2193
+    - x86 HVM hypercalls may trigger Xen bug check
+      XSA-454 CVE-2023-46842
+    - x86: Incorrect logic for BTC/SRSO mitigations
+      XSA-455 CVE-2024-31142
+    - x86: Native Branch History Injection
+      XSA-456 CVE-2024-2201
+    - double unlock in x86 guest IRQ handling
+      XSA-458 CVE-2024-31143
+    - error handling in x86 IOMMU identity mapping
+      XSA-460 CVE-2024-31145
+    - PCI device pass-through with shared resources
+      XSA-461 CVE-2024-31146
+    - x86: Deadlock in vlapic_error()
+      XSA-462 CVE-2024-45817
+    - Deadlock in x86 HVM standard VGA handling
+      XSA-463 CVE-2024-45818
+    - libxl leaks data to PVH guests via ACPI tables
+      XSA-464 CVE-2024-45819
+  * Note that the following XSA are not listed, because...
+    - XSA-457 and XSA-465 have patches for the Linux kernel.
+    - XSA-459 is within Xapi which is not shipped by this package.
+    - XSA-466 contains a documentation update that was only applied to the
+      current development version of Xen
+
 4.17.3+10-g091466ba55-1~deb12u1 [Sun, 04 Feb 2024 16:31:59 +0100] Hans van Kranenburg <hans@knorrie.org>:
 
   * Rebuild 4.17.3+10-g091466ba55-1 for Bookworm to address the security

<http://piuparts.knut.univention.de/5.2-0/#575253189574469721>
Comment 2 Iván.Delgado univentionstaff 2025-02-03 12:51:00 CET
OK: bug
OK: yaml
OK: announce_errata
OK: patch
OK: piuparts

[5.2-0] d5a64490b2 Bug #57912: xen 4.17.5+23-ga4e5191dc0-1
 doc/errata/staging/xen.yaml | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)
Comment 3 Iván.Delgado univentionstaff 2025-02-05 15:53:48 CET
<https://errata.software-univention.de/#/?erratum=5.2x22>