CVE-2022-48727

Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
20/06/2024
Last modified:
01/10/2025

Description

In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> KVM: arm64: Avoid consuming a stale esr value when SError occur<br /> <br /> When any exception other than an IRQ occurs, the CPU updates the ESR_EL2<br /> register with the exception syndrome. An SError may also become pending,<br /> and will be synchronised by KVM. KVM notes the exception type, and whether<br /> an SError was synchronised in exit_code.<br /> <br /> When an exception other than an IRQ occurs, fixup_guest_exit() updates<br /> vcpu-&gt;arch.fault.esr_el2 from the hardware register. When an SError was<br /> synchronised, the vcpu esr value is used to determine if the exception<br /> was due to an HVC. If so, ELR_EL2 is moved back one instruction. This<br /> is so that KVM can process the SError first, and re-execute the HVC if<br /> the guest survives the SError.<br /> <br /> But if an IRQ synchronises an SError, the vcpu&amp;#39;s esr value is stale.<br /> If the previous non-IRQ exception was an HVC, KVM will corrupt ELR_EL2,<br /> causing an unrelated guest instruction to be executed twice.<br /> <br /> Check ARM_EXCEPTION_CODE() before messing with ELR_EL2, IRQs don&amp;#39;t<br /> update this register so don&amp;#39;t need to check.

Vulnerable products and versions

CPE From Up to
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.11 (including) 5.15.22 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.16 (including) 5.16.8 (excluding)
cpe:2.3:o:linux:linux_kernel:5.17:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.17:rc2:*:*:*:*:*:*