summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/recipes-devtools/qemu/qemu.inc1
-rw-r--r--meta/recipes-devtools/qemu/qemu/CVE-2023-3180.patch52
2 files changed, 53 insertions, 0 deletions
diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc
index c8e1d28654..cd17a11335 100644
--- a/meta/recipes-devtools/qemu/qemu.inc
+++ b/meta/recipes-devtools/qemu/qemu.inc
@@ -41,6 +41,7 @@ SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \
41 file://CVE-2023-3255.patch \ 41 file://CVE-2023-3255.patch \
42 file://CVE-2023-2861.patch \ 42 file://CVE-2023-2861.patch \
43 file://CVE-2023-3354.patch \ 43 file://CVE-2023-3354.patch \
44 file://CVE-2023-3180.patch \
44 " 45 "
45UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar" 46UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar"
46 47
diff --git a/meta/recipes-devtools/qemu/qemu/CVE-2023-3180.patch b/meta/recipes-devtools/qemu/qemu/CVE-2023-3180.patch
new file mode 100644
index 0000000000..cd9f85fd43
--- /dev/null
+++ b/meta/recipes-devtools/qemu/qemu/CVE-2023-3180.patch
@@ -0,0 +1,52 @@
1From 9d38a8434721a6479fe03fb5afb150ca793d3980 Mon Sep 17 00:00:00 2001
2From: zhenwei pi <pizhenwei@bytedance.com>
3Date: Thu, 3 Aug 2023 10:43:13 +0800
4Subject: [PATCH] virtio-crypto: verify src&dst buffer length for sym request
5
6For symmetric algorithms, the length of ciphertext must be as same
7as the plaintext.
8The missing verification of the src_len and the dst_len in
9virtio_crypto_sym_op_helper() may lead buffer overflow/divulged.
10
11This patch is originally written by Yiming Tao for QEMU-SECURITY,
12resend it(a few changes of error message) in qemu-devel.
13
14Fixes: CVE-2023-3180
15Fixes: 04b9b37e
16
17("virtio-crypto: add data queue processing handler")
18Cc: Gonglei <arei.gonglei@huawei.com>
19Cc: Mauro Matteo Cascella <mcascell@redhat.com>
20Cc: Yiming Tao <taoym@zju.edu.cn>
21Signed-off-by: zhenwei pi <pizhenwei@bytedance.com>
22Message-Id: <20230803024314.29962-2-pizhenwei@bytedance.com>
23Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
24Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
25
26CVE: CVE-2023-3180
27
28Upstream-Status: Backport from [https://gitlab.com/qemu-project/qemu/-/commit/9d38a8434721a6479fe03fb5afb150ca793d3980]
29
30Signed-off-by: Soumya Sambu <soumya.sambu@windriver.com>
31---
32 hw/virtio/virtio-crypto.c | 5 +++++
33 1 file changed, 5 insertions(+)
34
35diff --git a/hw/virtio/virtio-crypto.c b/hw/virtio/virtio-crypto.c
36index 97da74e71..fdb592861 100644
37--- a/hw/virtio/virtio-crypto.c
38+++ b/hw/virtio/virtio-crypto.c
39@@ -633,6 +633,11 @@ virtio_crypto_sym_op_helper(VirtIODevice *vdev,
40 return NULL;
41 }
42
43+ if (unlikely(src_len != dst_len)) {
44+ virtio_error(vdev, "sym request src len is different from dst len");
45+ return NULL;
46+ }
47+
48 max_len = (uint64_t)iv_len + aad_len + src_len + dst_len + hash_result_len;
49 if (unlikely(max_len > vcrypto->conf.max_size)) {
50 virtio_error(vdev, "virtio-crypto too big length");
51--
522.40.0