summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChee Yang Lee <chee.yang.lee@intel.com>2023-03-02 16:38:51 +0800
committerArmin Kuster <akuster808@gmail.com>2023-03-05 07:52:13 -0500
commit75cc182f389d7c9932402cec1740e08b6f24b91d (patch)
treefdea2ac1b758ddc475ed77a74567a74bc65881b4
parent54960c549b8f0f299f437c517c60a0fdac9f82da (diff)
downloadmeta-openembedded-75cc182f389d7c9932402cec1740e08b6f24b91d.tar.gz
cifs-utils: fix CVE-2022-27239 CVE-2022-29869
Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com> Signed-off-by: Armin Kuster <akuster808@gmail.com>
-rw-r--r--meta-networking/recipes-support/cifs/cifs-utils_6.14.bb5
-rw-r--r--meta-networking/recipes-support/cifs/files/CVE-2022-27239.patch40
-rw-r--r--meta-networking/recipes-support/cifs/files/CVE-2022-29869.patch48
3 files changed, 92 insertions, 1 deletions
diff --git a/meta-networking/recipes-support/cifs/cifs-utils_6.14.bb b/meta-networking/recipes-support/cifs/cifs-utils_6.14.bb
index d4cdda0f81..516e467ee4 100644
--- a/meta-networking/recipes-support/cifs/cifs-utils_6.14.bb
+++ b/meta-networking/recipes-support/cifs/cifs-utils_6.14.bb
@@ -5,7 +5,10 @@ LICENSE = "GPL-3.0-only & LGPL-3.0-only"
5LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" 5LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
6 6
7SRCREV = "8c06dce7d596e478c20bc54bdcec87ad97f80a1b" 7SRCREV = "8c06dce7d596e478c20bc54bdcec87ad97f80a1b"
8SRC_URI = "git://git.samba.org/cifs-utils.git;branch=master" 8SRC_URI = "git://git.samba.org/cifs-utils.git;branch=master \
9 file://CVE-2022-27239.patch \
10 file://CVE-2022-29869.patch \
11"
9 12
10S = "${WORKDIR}/git" 13S = "${WORKDIR}/git"
11DEPENDS += "libtalloc" 14DEPENDS += "libtalloc"
diff --git a/meta-networking/recipes-support/cifs/files/CVE-2022-27239.patch b/meta-networking/recipes-support/cifs/files/CVE-2022-27239.patch
new file mode 100644
index 0000000000..77f6745abe
--- /dev/null
+++ b/meta-networking/recipes-support/cifs/files/CVE-2022-27239.patch
@@ -0,0 +1,40 @@
1From 007c07fd91b6d42f8bd45187cf78ebb06801139d Mon Sep 17 00:00:00 2001
2From: Jeffrey Bencteux <jbe@improsec.com>
3Date: Thu, 17 Mar 2022 12:58:52 -0400
4Subject: [PATCH] CVE-2022-27239: mount.cifs: fix length check for ip option
5 parsing
6
7Previous check was true whatever the length of the input string was,
8leading to a buffer overflow in the subsequent strcpy call.
9
10Bug: https://bugzilla.samba.org/show_bug.cgi?id=15025
11
12Signed-off-by: Jeffrey Bencteux <jbe@improsec.com>
13Reviewed-by: David Disseldorp <ddiss@suse.de>
14
15Upstream-Status: Backport [ https://git.samba.org/?p=cifs-utils.git;a=commit;h=007c07fd91b6d42f8bd45187cf78ebb06801139d]
16CVE: CVE-2022-27239
17Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
18---
19 mount.cifs.c | 5 +++--
20 1 file changed, 3 insertions(+), 2 deletions(-)
21
22diff --git a/mount.cifs.c b/mount.cifs.c
23index 84274c9..3a6b449 100644
24--- a/mount.cifs.c
25+++ b/mount.cifs.c
26@@ -926,9 +926,10 @@ parse_options(const char *data, struct parsed_mount_info *parsed_info)
27 if (!value || !*value) {
28 fprintf(stderr,
29 "target ip address argument missing\n");
30- } else if (strnlen(value, MAX_ADDRESS_LEN) <=
31+ } else if (strnlen(value, MAX_ADDRESS_LEN) <
32 MAX_ADDRESS_LEN) {
33- strcpy(parsed_info->addrlist, value);
34+ strlcpy(parsed_info->addrlist, value,
35+ MAX_ADDRESS_LEN);
36 if (parsed_info->verboseflag)
37 fprintf(stderr,
38 "ip address %s override specified\n",
39--
402.34.1
diff --git a/meta-networking/recipes-support/cifs/files/CVE-2022-29869.patch b/meta-networking/recipes-support/cifs/files/CVE-2022-29869.patch
new file mode 100644
index 0000000000..f0c3f37dec
--- /dev/null
+++ b/meta-networking/recipes-support/cifs/files/CVE-2022-29869.patch
@@ -0,0 +1,48 @@
1From 8acc963a2e7e9d63fe1f2e7f73f5a03f83d9c379 Mon Sep 17 00:00:00 2001
2From: Jeffrey Bencteux <jbe@improsec.com>
3Date: Sat, 19 Mar 2022 13:41:15 -0400
4Subject: [PATCH] mount.cifs: fix verbose messages on option parsing
5
6When verbose logging is enabled, invalid credentials file lines may be
7dumped to stderr. This may lead to information disclosure in particular
8conditions when the credentials file given is sensitive and contains '='
9signs.
10
11Bug: https://bugzilla.samba.org/show_bug.cgi?id=15026
12
13Signed-off-by: Jeffrey Bencteux <jbe@improsec.com>
14Reviewed-by: David Disseldorp <ddiss@suse.de>
15
16Upstream-Status: Backport [https://git.samba.org/?p=cifs-utils.git;a=commit;h=8acc963a2e7e9d63fe1f2e7f73f5a03f83d9c379]
17CVE: CVE-2022-29869
18Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
19---
20 mount.cifs.c | 6 +-----
21 1 file changed, 1 insertion(+), 5 deletions(-)
22
23diff --git a/mount.cifs.c b/mount.cifs.c
24index 3a6b449..2278995 100644
25--- a/mount.cifs.c
26+++ b/mount.cifs.c
27@@ -628,17 +628,13 @@ static int open_cred_file(char *file_name,
28 goto return_i;
29 break;
30 case CRED_DOM:
31- if (parsed_info->verboseflag)
32- fprintf(stderr, "domain=%s\n",
33- temp_val);
34 strlcpy(parsed_info->domain, temp_val,
35 sizeof(parsed_info->domain));
36 break;
37 case CRED_UNPARSEABLE:
38 if (parsed_info->verboseflag)
39 fprintf(stderr, "Credential formatted "
40- "incorrectly: %s\n",
41- temp_val ? temp_val : "(null)");
42+ "incorrectly\n");
43 break;
44 }
45 }
46--
472.34.1
48