mirror of
https://git.yoctoproject.org/poky
synced 2026-05-09 05:29:32 +00:00
qemu: re-add the fix for CVE-2022-1050
This patch was accidentally dropped in the 7.1.0 upgrade, so bring it back. (From OE-Core rev: 09bcf6d2a661a3c39fdd13a760f6c26dd79abb69) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
14eea4a995
commit
a4b9310146
@@ -26,8 +26,8 @@ SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \
|
||||
file://0007-qemu-Determinism-fixes.patch \
|
||||
file://0008-tests-meson.build-use-relative-path-to-refer-to-file.patch \
|
||||
file://0009-Define-MAP_SYNC-and-MAP_SHARED_VALIDATE-on-needed-li.patch \
|
||||
file://0010-hw-pvrdma-Protect-against-buggy-or-malicious-guest-d.patch \
|
||||
"
|
||||
BAR = " file://0010-hw-pvrdma-Protect-against-buggy-or-malicious-guest-d.patch "
|
||||
UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar"
|
||||
|
||||
SRC_URI[sha256sum] = "a0634e536bded57cf38ec8a751adb124b89c776fe0846f21ab6c6728f1cbbbe6"
|
||||
|
||||
+43
@@ -0,0 +1,43 @@
|
||||
CVE: CVE-2022-1050
|
||||
Upstream-Status: Submitted [https://lore.kernel.org/qemu-devel/20220403095234.2210-1-yuval.shaia.ml@gmail.com/]
|
||||
Signed-off-by: Ross Burton <ross.burton@arm.com>
|
||||
|
||||
From dbdef95c272e8f3ec037c3db4197c66002e30995 Mon Sep 17 00:00:00 2001
|
||||
From: Yuval Shaia <yuval.shaia.ml@gmail.com>
|
||||
Date: Sun, 3 Apr 2022 12:52:34 +0300
|
||||
Subject: [PATCH] hw/pvrdma: Protect against buggy or malicious guest driver
|
||||
|
||||
Guest driver might execute HW commands when shared buffers are not yet
|
||||
allocated.
|
||||
This could happen on purpose (malicious guest) or because of some other
|
||||
guest/host address mapping error.
|
||||
We need to protect againts such case.
|
||||
|
||||
Fixes: CVE-2022-1050
|
||||
|
||||
Reported-by: Raven <wxhusst@gmail.com>
|
||||
Signed-off-by: Yuval Shaia <yuval.shaia.ml@gmail.com>
|
||||
---
|
||||
hw/rdma/vmw/pvrdma_cmd.c | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/hw/rdma/vmw/pvrdma_cmd.c b/hw/rdma/vmw/pvrdma_cmd.c
|
||||
index da7ddfa548..89db963c46 100644
|
||||
--- a/hw/rdma/vmw/pvrdma_cmd.c
|
||||
+++ b/hw/rdma/vmw/pvrdma_cmd.c
|
||||
@@ -796,6 +796,12 @@ int pvrdma_exec_cmd(PVRDMADev *dev)
|
||||
|
||||
dsr_info = &dev->dsr_info;
|
||||
|
||||
+ if (!dsr_info->dsr) {
|
||||
+ /* Buggy or malicious guest driver */
|
||||
+ rdma_error_report("Exec command without dsr, req or rsp buffers");
|
||||
+ goto out;
|
||||
+ }
|
||||
+
|
||||
if (dsr_info->req->hdr.cmd >= sizeof(cmd_handlers) /
|
||||
sizeof(struct cmd_handler)) {
|
||||
rdma_error_report("Unsupported command");
|
||||
--
|
||||
2.34.1
|
||||
|
||||
Reference in New Issue
Block a user