CVE Vulnerabilities

CVE-2022-26356

Improper Locking

Published: Apr 05, 2022 | Modified: Nov 21, 2024
CVSS 3.x
5.6
MEDIUM
Source:
NVD
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:C/C:N/I:N/A:H
CVSS 2.x
4 MEDIUM
AV:L/AC:H/Au:N/C:N/I:N/A:C
RedHat/V2
RedHat/V3
Ubuntu
MEDIUM
root.io logo minimus.io logo echo.ai logo

Racy interactions between dirty vram tracking and paging log dirty hypercalls Activation of log dirty mode done by XEN_DMOP_track_dirty_vram (was named HVMOP_track_dirty_vram before Xen 4.9) is racy with ongoing log dirty hypercalls. A suitably timed call to XEN_DMOP_track_dirty_vram can enable log dirty while another CPU is still in the process of tearing down the structures related to a previously enabled log dirty mode (XEN_DOMCTL_SHADOW_OP_OFF). This is due to lack of mutually exclusive locking between both operations and can lead to entries being added in already freed slots, resulting in a memory leak.

Weakness

The product does not properly acquire or release a lock on a resource, leading to unexpected resource state changes and behaviors.

Affected Software

NameVendorStart VersionEnd Version
XenXen4.0.0 (including)4.12.0 (excluding)
XenXen4.13.0 (including)4.14.0 (excluding)
XenXen4.15.0 (including)4.16.0 (excluding)
XenUbuntubionic*
XenUbuntufocal*
XenUbuntuimpish*
XenUbuntukinetic*
XenUbuntulunar*
XenUbuntumantic*
XenUbuntuoracular*
XenUbuntuplucky*
XenUbuntutrusty*
XenUbuntuxenial*

Extended Description

Locking is a type of synchronization behavior that ensures that multiple independently-operating processes or threads do not interfere with each other when accessing the same resource. All processes/threads are expected to follow the same steps for locking. If these steps are not followed precisely - or if no locking is done at all - then another process/thread could modify the shared resource in a way that is not visible or predictable to the original process. This can lead to data or memory corruption, denial of service, etc.

Potential Mitigations

References