[<prev] [next>] [day] [month] [year] [list]
Message-ID: <2025061849-CVE-2022-50228-3904@gregkh>
Date: Wed, 18 Jun 2025 13:04:53 +0200
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: linux-cve-announce@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...nel.org>
Subject: CVE-2022-50228: KVM: SVM: Don't BUG if userspace injects an interrupt with GIF=0
From: Greg Kroah-Hartman <gregkh@...nel.org>
Description
===========
In the Linux kernel, the following vulnerability has been resolved:
KVM: SVM: Don't BUG if userspace injects an interrupt with GIF=0
Don't BUG/WARN on interrupt injection due to GIF being cleared,
since it's trivial for userspace to force the situation via
KVM_SET_VCPU_EVENTS (even if having at least a WARN there would be correct
for KVM internally generated injections).
kernel BUG at arch/x86/kvm/svm/svm.c:3386!
invalid opcode: 0000 [#1] SMP
CPU: 15 PID: 926 Comm: smm_test Not tainted 5.17.0-rc3+ #264
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015
RIP: 0010:svm_inject_irq+0xab/0xb0 [kvm_amd]
Code: <0f> 0b 0f 1f 00 0f 1f 44 00 00 80 3d ac b3 01 00 00 55 48 89 f5 53
RSP: 0018:ffffc90000b37d88 EFLAGS: 00010246
RAX: 0000000000000000 RBX: ffff88810a234ac0 RCX: 0000000000000006
RDX: 0000000000000000 RSI: ffffc90000b37df7 RDI: ffff88810a234ac0
RBP: ffffc90000b37df7 R08: ffff88810a1fa410 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
R13: ffff888109571000 R14: ffff88810a234ac0 R15: 0000000000000000
FS: 0000000001821380(0000) GS:ffff88846fdc0000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f74fc550008 CR3: 000000010a6fe000 CR4: 0000000000350ea0
Call Trace:
<TASK>
inject_pending_event+0x2f7/0x4c0 [kvm]
kvm_arch_vcpu_ioctl_run+0x791/0x17a0 [kvm]
kvm_vcpu_ioctl+0x26d/0x650 [kvm]
__x64_sys_ioctl+0x82/0xb0
do_syscall_64+0x3b/0xc0
entry_SYSCALL_64_after_hwframe+0x44/0xae
</TASK>
The Linux kernel CVE team has assigned CVE-2022-50228 to this issue.
Affected and fixed versions
===========================
Issue introduced in 2.6.32 with commit 219b65dcf6c0bad83d51bfa12e25891c02de2414 and fixed in 4.9.326 with commit 2c49adeb020995236e63722ef6d0bee14372f471
Issue introduced in 2.6.32 with commit 219b65dcf6c0bad83d51bfa12e25891c02de2414 and fixed in 4.14.291 with commit 6fcbab82ccbcde915644085f73d3487938bda42d
Issue introduced in 2.6.32 with commit 219b65dcf6c0bad83d51bfa12e25891c02de2414 and fixed in 4.19.256 with commit c3396c1c8b87510f2ac2a674948156577559d42d
Issue introduced in 2.6.32 with commit 219b65dcf6c0bad83d51bfa12e25891c02de2414 and fixed in 5.4.211 with commit 68e1313bb8809e8addcd9431f2bfea0e8ddbca80
Issue introduced in 2.6.32 with commit 219b65dcf6c0bad83d51bfa12e25891c02de2414 and fixed in 5.10.137 with commit 8bb683490278005b4caf61e22b0828a04d282e86
Issue introduced in 2.6.32 with commit 219b65dcf6c0bad83d51bfa12e25891c02de2414 and fixed in 5.15.61 with commit 6afe88fbb40eac3291a8728688d61fdc745d8008
Issue introduced in 2.6.32 with commit 219b65dcf6c0bad83d51bfa12e25891c02de2414 and fixed in 5.18.18 with commit 3d4e2d884da6312df7c9b85fbf671de49204ead6
Issue introduced in 2.6.32 with commit 219b65dcf6c0bad83d51bfa12e25891c02de2414 and fixed in 5.19.2 with commit 2eee1dba70f57148fc7f8252613bfae6bd4b04e3
Issue introduced in 2.6.32 with commit 219b65dcf6c0bad83d51bfa12e25891c02de2414 and fixed in 6.0 with commit f17c31c48e5cde9895a491d91c424eeeada3e134
Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.
Unaffected versions might change over time as fixes are backported to
older supported kernel versions. The official CVE entry at
https://cve.org/CVERecord/?id=CVE-2022-50228
will be updated if fixes are backported, please check that for the most
up to date information about this issue.
Affected files
==============
The file(s) affected by this issue are:
arch/x86/kvm/svm/svm.c
Mitigation
==========
The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes. Individual
changes are never tested alone, but rather are part of a larger kernel
release. Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all. If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
https://git.kernel.org/stable/c/2c49adeb020995236e63722ef6d0bee14372f471
https://git.kernel.org/stable/c/6fcbab82ccbcde915644085f73d3487938bda42d
https://git.kernel.org/stable/c/c3396c1c8b87510f2ac2a674948156577559d42d
https://git.kernel.org/stable/c/68e1313bb8809e8addcd9431f2bfea0e8ddbca80
https://git.kernel.org/stable/c/8bb683490278005b4caf61e22b0828a04d282e86
https://git.kernel.org/stable/c/6afe88fbb40eac3291a8728688d61fdc745d8008
https://git.kernel.org/stable/c/3d4e2d884da6312df7c9b85fbf671de49204ead6
https://git.kernel.org/stable/c/2eee1dba70f57148fc7f8252613bfae6bd4b04e3
https://git.kernel.org/stable/c/f17c31c48e5cde9895a491d91c424eeeada3e134
Powered by blists - more mailing lists