diff options
author | Vijay Anusuri <vanusuri@mvista.com> | 2025-03-17 14:46:38 +0530 |
---|---|---|
committer | Armin Kuster <akuster808@gmail.com> | 2025-03-23 15:29:23 -0400 |
commit | cd1aa14313b5ade98613b7d349f320fd44e78bc9 (patch) | |
tree | d64114c09015c66b21d9833f9b47c8be2f54f27b | |
parent | 6f488ab715710de4e49febd51a5776467cc74877 (diff) | |
download | meta-openembedded-cd1aa14313b5ade98613b7d349f320fd44e78bc9.tar.gz |
wireshark: upgrade 4.2.7 -> 4.2.9
Fixes CVE-2024-11595 CVE-2024-11596
Removed CVE-2024-9781.patch which is already fixed in 4.2.8 version
Release notes:
https://www.wireshark.org/docs/relnotes/wireshark-4.2.8.html
https://www.wireshark.org/docs/relnotes/wireshark-4.2.9.html
Reference:
https://www.wireshark.org/security/wnpa-sec-2024-15.html
https://www.wireshark.org/security/wnpa-sec-2024-14.html
https://www.wireshark.org/security/wnpa-sec-2024-13.html
Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
-rw-r--r-- | meta-networking/recipes-support/wireshark/files/CVE-2024-9781.patch | 133 | ||||
-rw-r--r-- | meta-networking/recipes-support/wireshark/wireshark_4.2.9.bb (renamed from meta-networking/recipes-support/wireshark/wireshark_4.2.7.bb) | 3 |
2 files changed, 1 insertions, 135 deletions
diff --git a/meta-networking/recipes-support/wireshark/files/CVE-2024-9781.patch b/meta-networking/recipes-support/wireshark/files/CVE-2024-9781.patch deleted file mode 100644 index eb8c733da7..0000000000 --- a/meta-networking/recipes-support/wireshark/files/CVE-2024-9781.patch +++ /dev/null | |||
@@ -1,133 +0,0 @@ | |||
1 | From f32965be7c80ca6eb330d0e9b34f0c563db7d869 Mon Sep 17 00:00:00 2001 | ||
2 | From: Gerald Combs <gerald@wireshark.org> | ||
3 | Date: Tue, 8 Oct 2024 11:56:28 -0700 | ||
4 | Subject: [PATCH] AppleTalk: Make sure we have valid addresses | ||
5 | |||
6 | Make sure ATP, ZIP, and ASP have valid addresses. Use sizeof instead of | ||
7 | a hard-coded value in a few places. | ||
8 | |||
9 | Fixes #20114 | ||
10 | |||
11 | (cherry picked from commit 3de741321f85c205c0a8266c40f33cb0013bd1d2) | ||
12 | |||
13 | Conflicts: | ||
14 | epan/dissectors/packet-atalk.c | ||
15 | |||
16 | CVE: CVE-2024-9781 | ||
17 | Upstream-Status: Backport [https://gitlab.com/wireshark/wireshark/-/commit/cad248ce3bf5] | ||
18 | |||
19 | (cherry picked from commit cad248ce3bf53026cc837fedeaca65d0f20ea3b5) | ||
20 | Signed-off-by: Shubham Pushpkar <spushpka@cisco.com> | ||
21 | --- | ||
22 | epan/dissectors/packet-atalk.c | 44 ++++++++++++++++++++++++---------- | ||
23 | 1 file changed, 32 insertions(+), 12 deletions(-) | ||
24 | |||
25 | diff --git a/epan/dissectors/packet-atalk.c b/epan/dissectors/packet-atalk.c | ||
26 | index 396e7af519..065d6aedb6 100644 | ||
27 | --- a/epan/dissectors/packet-atalk.c | ||
28 | +++ b/epan/dissectors/packet-atalk.c | ||
29 | @@ -232,9 +232,18 @@ static int hf_asp_attn_code = -1; | ||
30 | static int hf_asp_seq = -1; | ||
31 | static int hf_asp_size = -1; | ||
32 | |||
33 | +/* | ||
34 | + * Structure used to represent a DDP address; gives the layout of the | ||
35 | + * data pointed to by an Appletalk "address" structure. | ||
36 | + */ | ||
37 | +struct atalk_ddp_addr { | ||
38 | + guint16 net; | ||
39 | + guint8 node; | ||
40 | +}; | ||
41 | + | ||
42 | typedef struct { | ||
43 | guint32 conversation; | ||
44 | - guint8 src[4]; | ||
45 | + guint8 src[sizeof(struct atalk_ddp_addr)]; | ||
46 | guint16 tid; | ||
47 | } asp_request_key; | ||
48 | |||
49 | @@ -502,6 +511,10 @@ static const value_string asp_error_vals[] = { | ||
50 | {0, NULL } }; | ||
51 | value_string_ext asp_error_vals_ext = VALUE_STRING_EXT_INIT(asp_error_vals); | ||
52 | |||
53 | +static bool is_ddp_address(address *addr) { | ||
54 | + return addr->type == atalk_address_type && addr->len == sizeof(struct atalk_ddp_addr); | ||
55 | +} | ||
56 | + | ||
57 | /* | ||
58 | * hf_index must be a FT_UINT_STRING type | ||
59 | * Are these always in a Mac extended character set? Should we have a | ||
60 | @@ -744,6 +757,12 @@ dissect_atp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_) | ||
61 | conversation_t *conversation; | ||
62 | asp_request_val *request_val = NULL; | ||
63 | |||
64 | + // ATP is carried over DDP | ||
65 | + if (!(is_ddp_address(&pinfo->src) && is_ddp_address(&pinfo->dst))) { | ||
66 | + return 0; | ||
67 | + } | ||
68 | + | ||
69 | + | ||
70 | col_set_str(pinfo->cinfo, COL_PROTOCOL, "ATP"); | ||
71 | |||
72 | ctrlinfo = tvb_get_guint8(tvb, offset); | ||
73 | @@ -770,7 +789,7 @@ dissect_atp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_) | ||
74 | asp_request_key request_key; | ||
75 | |||
76 | request_key.conversation = conversation->conv_index; | ||
77 | - memcpy(request_key.src, (!atp_asp_dsi_info.reply)?pinfo->src.data:pinfo->dst.data, 4); | ||
78 | + memcpy(request_key.src, (!atp_asp_dsi_info.reply)?pinfo->src.data:pinfo->dst.data, sizeof(struct atalk_ddp_addr)); | ||
79 | request_key.tid = atp_asp_dsi_info.tid; | ||
80 | |||
81 | request_val = (asp_request_val *) wmem_map_lookup(atp_request_hash, &request_key); | ||
82 | @@ -1018,7 +1037,7 @@ get_transaction(tvbuff_t *tvb, packet_info *pinfo, struct atp_asp_dsi_info *atp_ | ||
83 | conversation = find_or_create_conversation(pinfo); | ||
84 | |||
85 | request_key.conversation = conversation->conv_index; | ||
86 | - memcpy(request_key.src, (!atp_asp_dsi_info->reply)?pinfo->src.data:pinfo->dst.data, 4); | ||
87 | + memcpy(request_key.src, (!atp_asp_dsi_info->reply)?pinfo->src.data:pinfo->dst.data, sizeof(struct atalk_ddp_addr)); | ||
88 | request_key.tid = atp_asp_dsi_info->tid; | ||
89 | |||
90 | request_val = (asp_request_val *) wmem_map_lookup(asp_request_hash, &request_key); | ||
91 | @@ -1051,6 +1070,11 @@ dissect_asp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data) | ||
92 | if (data == NULL) | ||
93 | return 0; | ||
94 | |||
95 | + // ASP is carried over ATP/DDP | ||
96 | + if (!(is_ddp_address(&pinfo->src) && is_ddp_address(&pinfo->dst))) { | ||
97 | + return 0; | ||
98 | + } | ||
99 | + | ||
100 | col_set_str(pinfo->cinfo, COL_PROTOCOL, "ASP"); | ||
101 | col_clear(pinfo->cinfo, COL_INFO); | ||
102 | |||
103 | @@ -1183,15 +1207,6 @@ dissect_asp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data) | ||
104 | /* ----------------------------- | ||
105 | ZIP protocol cf. inside appletalk chap. 8 | ||
106 | */ | ||
107 | -/* | ||
108 | - * Structure used to represent a DDP address; gives the layout of the | ||
109 | - * data pointed to by an Appletalk "address" structure. | ||
110 | - */ | ||
111 | -struct atalk_ddp_addr { | ||
112 | - guint16 net; | ||
113 | - guint8 node; | ||
114 | -}; | ||
115 | - | ||
116 | |||
117 | static int atalk_str_len(const address* addr _U_) | ||
118 | { | ||
119 | @@ -1241,6 +1256,11 @@ dissect_atp_zip(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data) | ||
120 | if (data == NULL) | ||
121 | return 0; | ||
122 | |||
123 | + // ATP ZIP is carried over DDP | ||
124 | + if (!(is_ddp_address(&pinfo->src) && is_ddp_address(&pinfo->dst))) { | ||
125 | + return 0; | ||
126 | + } | ||
127 | + | ||
128 | col_set_str(pinfo->cinfo, COL_PROTOCOL, "ZIP"); | ||
129 | col_clear(pinfo->cinfo, COL_INFO); | ||
130 | |||
131 | -- | ||
132 | 2.44.1 | ||
133 | |||
diff --git a/meta-networking/recipes-support/wireshark/wireshark_4.2.7.bb b/meta-networking/recipes-support/wireshark/wireshark_4.2.9.bb index d68b082bb3..c561179c68 100644 --- a/meta-networking/recipes-support/wireshark/wireshark_4.2.7.bb +++ b/meta-networking/recipes-support/wireshark/wireshark_4.2.9.bb | |||
@@ -13,12 +13,11 @@ SRC_URI = "https://1.eu.dl.wireshark.org/src/wireshark-${PV}.tar.xz \ | |||
13 | file://0002-flex-Remove-line-directives.patch \ | 13 | file://0002-flex-Remove-line-directives.patch \ |
14 | file://0004-lemon-Remove-line-directives.patch \ | 14 | file://0004-lemon-Remove-line-directives.patch \ |
15 | file://0001-UseLemon.cmake-do-not-use-lemon-data-from-the-host.patch \ | 15 | file://0001-UseLemon.cmake-do-not-use-lemon-data-from-the-host.patch \ |
16 | file://CVE-2024-9781.patch \ | ||
17 | " | 16 | " |
18 | 17 | ||
19 | UPSTREAM_CHECK_URI = "https://1.as.dl.wireshark.org/src" | 18 | UPSTREAM_CHECK_URI = "https://1.as.dl.wireshark.org/src" |
20 | 19 | ||
21 | SRC_URI[sha256sum] = "2c5de08e19081bd666a2ce3f052c023274d06acaabc5d667a3c3051a9c618f86" | 20 | SRC_URI[sha256sum] = "62c2b6652d7f9a50668867bd57b21609c9a9b6950f26e7f30a24b2de0e72ded3" |
22 | 21 | ||
23 | PE = "1" | 22 | PE = "1" |
24 | 23 | ||