summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAshish Sharma <asharma@mvista.com>2024-01-10 16:41:51 +0530
committerArmin Kuster <akuster808@gmail.com>2024-03-03 16:38:27 -0500
commit2071373cce3791ae9ab75b68268c06c73f0ab764 (patch)
tree8d3359ee99b41432cae48de87f4736bddded322d
parent84a84000f735ac54b8668161768563a9b32602a3 (diff)
downloadmeta-openembedded-2071373cce3791ae9ab75b68268c06c73f0ab764.tar.gz
wireshark: Backport fix for CVE-2023-1992
RPCoRDMA: Frame end cleanup for global write offsets Upstream-Status: Backport from [https://gitlab.com/colin.mcinnes/wireshark/-/commit/3c8be14c827f1587da3c2b3bb0d9c04faff57413] Signed-off-by: Ashish Sharma <asharma@mvista.com> Signed-off-by: Armin Kuster <akuster808@gmail.com>
-rw-r--r--meta-networking/recipes-support/wireshark/files/CVE-2023-1992.patch62
-rw-r--r--meta-networking/recipes-support/wireshark/wireshark_3.2.18.bb1
2 files changed, 63 insertions, 0 deletions
diff --git a/meta-networking/recipes-support/wireshark/files/CVE-2023-1992.patch b/meta-networking/recipes-support/wireshark/files/CVE-2023-1992.patch
new file mode 100644
index 000000000..2fbef6bae
--- /dev/null
+++ b/meta-networking/recipes-support/wireshark/files/CVE-2023-1992.patch
@@ -0,0 +1,62 @@
1From 3c8be14c827f1587da3c2b3bb0d9c04faff57413 Mon Sep 17 00:00:00 2001
2From: John Thacker <johnthacker@gmail.com>
3Date: Sun, 19 Mar 2023 15:16:39 -0400
4Subject: [PATCH] RPCoRDMA: Frame end cleanup for global write offsets
5
6Add a frame end routine for a global which is assigned to packet
7scoped memory. It really should be made proto data, but is used
8in a function in the header (that doesn't take the packet info
9struct as an argument) and this fix needs to be made in stable
10branches.
11
12Fix #18852
13---
14Upstream-Status: Backport from [https://gitlab.com/colin.mcinnes/wireshark/-/commit/3c8be14c827f1587da3c2b3bb0d9c04faff57413]
15CVE: CVE-2023-1992
16Signed-off-by: Ashish Sharma <asharma@mvista.com>
17
18 epan/dissectors/packet-rpcrdma.c | 14 ++++++++++++++
19 1 file changed, 14 insertions(+)
20
21diff --git a/epan/dissectors/packet-rpcrdma.c b/epan/dissectors/packet-rpcrdma.c
22index 680187b2653..3f250f0ea1c 100644
23--- a/epan/dissectors/packet-rpcrdma.c
24+++ b/epan/dissectors/packet-rpcrdma.c
25@@ -24,6 +24,7 @@
26 #include <epan/addr_resolv.h>
27
28 #include "packet-rpcrdma.h"
29+#include "packet-frame.h"
30 #include "packet-infiniband.h"
31 #include "packet-iwarp-ddp-rdmap.h"
32
33@@ -285,6 +286,18 @@ void rpcrdma_insert_offset(gint offset)
34 wmem_array_append_one(gp_rdma_write_offsets, offset);
35 }
36
37+/*
38+ * Reset the array of write offsets at the end of the frame. These
39+ * are packet scoped, so they don't need to be freed, but we want
40+ * to ensure that the global doesn't point to no longer allocated
41+ * memory in a later packet.
42+ */
43+static void
44+reset_write_offsets(void)
45+{
46+ gp_rdma_write_offsets = NULL;
47+}
48+
49 /* Get conversation state, it is created if it does not exist */
50 static rdma_conv_info_t *get_rdma_conv_info(packet_info *pinfo)
51 {
52@@ -1600,6 +1613,7 @@ dissect_rpcrdma(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data
53 if (write_size > 0 && !pinfo->fd->visited) {
54 /* Initialize array of write chunk offsets */
55 gp_rdma_write_offsets = wmem_array_new(wmem_packet_scope(), sizeof(gint));
56+ register_frame_end_routine(pinfo, reset_write_offsets);
57 TRY {
58 /*
59 * Call the upper layer dissector to get a list of offsets
60--
61GitLab
62
diff --git a/meta-networking/recipes-support/wireshark/wireshark_3.2.18.bb b/meta-networking/recipes-support/wireshark/wireshark_3.2.18.bb
index b36a0acbf..8054cbb5a 100644
--- a/meta-networking/recipes-support/wireshark/wireshark_3.2.18.bb
+++ b/meta-networking/recipes-support/wireshark/wireshark_3.2.18.bb
@@ -22,6 +22,7 @@ SRC_URI = "https://1.eu.dl.wireshark.org/src/all-versions/wireshark-${PV}.tar.xz
22 file://CVE-2022-0585-CVE-2023-2879.patch \ 22 file://CVE-2022-0585-CVE-2023-2879.patch \
23 file://CVE-2022-4345.patch \ 23 file://CVE-2022-4345.patch \
24 file://CVE-2024-0208.patch \ 24 file://CVE-2024-0208.patch \
25 file://CVE-2023-1992.patch \
25 " 26 "
26UPSTREAM_CHECK_URI = "https://1.as.dl.wireshark.org/src" 27UPSTREAM_CHECK_URI = "https://1.as.dl.wireshark.org/src"
27 28