mirror of
git://git.openembedded.org/meta-openembedded
synced 2026-04-02 02:49:12 +00:00
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>
This commit is contained in:
parent
54960c549b
commit
75cc182f38
@ -5,7 +5,10 @@ LICENSE = "GPL-3.0-only & LGPL-3.0-only"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
|
||||
|
||||
SRCREV = "8c06dce7d596e478c20bc54bdcec87ad97f80a1b"
|
||||
SRC_URI = "git://git.samba.org/cifs-utils.git;branch=master"
|
||||
SRC_URI = "git://git.samba.org/cifs-utils.git;branch=master \
|
||||
file://CVE-2022-27239.patch \
|
||||
file://CVE-2022-29869.patch \
|
||||
"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
DEPENDS += "libtalloc"
|
||||
|
||||
@ -0,0 +1,40 @@
|
||||
From 007c07fd91b6d42f8bd45187cf78ebb06801139d Mon Sep 17 00:00:00 2001
|
||||
From: Jeffrey Bencteux <jbe@improsec.com>
|
||||
Date: Thu, 17 Mar 2022 12:58:52 -0400
|
||||
Subject: [PATCH] CVE-2022-27239: mount.cifs: fix length check for ip option
|
||||
parsing
|
||||
|
||||
Previous check was true whatever the length of the input string was,
|
||||
leading to a buffer overflow in the subsequent strcpy call.
|
||||
|
||||
Bug: https://bugzilla.samba.org/show_bug.cgi?id=15025
|
||||
|
||||
Signed-off-by: Jeffrey Bencteux <jbe@improsec.com>
|
||||
Reviewed-by: David Disseldorp <ddiss@suse.de>
|
||||
|
||||
Upstream-Status: Backport [ https://git.samba.org/?p=cifs-utils.git;a=commit;h=007c07fd91b6d42f8bd45187cf78ebb06801139d]
|
||||
CVE: CVE-2022-27239
|
||||
Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
|
||||
---
|
||||
mount.cifs.c | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/mount.cifs.c b/mount.cifs.c
|
||||
index 84274c9..3a6b449 100644
|
||||
--- a/mount.cifs.c
|
||||
+++ b/mount.cifs.c
|
||||
@@ -926,9 +926,10 @@ parse_options(const char *data, struct parsed_mount_info *parsed_info)
|
||||
if (!value || !*value) {
|
||||
fprintf(stderr,
|
||||
"target ip address argument missing\n");
|
||||
- } else if (strnlen(value, MAX_ADDRESS_LEN) <=
|
||||
+ } else if (strnlen(value, MAX_ADDRESS_LEN) <
|
||||
MAX_ADDRESS_LEN) {
|
||||
- strcpy(parsed_info->addrlist, value);
|
||||
+ strlcpy(parsed_info->addrlist, value,
|
||||
+ MAX_ADDRESS_LEN);
|
||||
if (parsed_info->verboseflag)
|
||||
fprintf(stderr,
|
||||
"ip address %s override specified\n",
|
||||
--
|
||||
2.34.1
|
||||
@ -0,0 +1,48 @@
|
||||
From 8acc963a2e7e9d63fe1f2e7f73f5a03f83d9c379 Mon Sep 17 00:00:00 2001
|
||||
From: Jeffrey Bencteux <jbe@improsec.com>
|
||||
Date: Sat, 19 Mar 2022 13:41:15 -0400
|
||||
Subject: [PATCH] mount.cifs: fix verbose messages on option parsing
|
||||
|
||||
When verbose logging is enabled, invalid credentials file lines may be
|
||||
dumped to stderr. This may lead to information disclosure in particular
|
||||
conditions when the credentials file given is sensitive and contains '='
|
||||
signs.
|
||||
|
||||
Bug: https://bugzilla.samba.org/show_bug.cgi?id=15026
|
||||
|
||||
Signed-off-by: Jeffrey Bencteux <jbe@improsec.com>
|
||||
Reviewed-by: David Disseldorp <ddiss@suse.de>
|
||||
|
||||
Upstream-Status: Backport [https://git.samba.org/?p=cifs-utils.git;a=commit;h=8acc963a2e7e9d63fe1f2e7f73f5a03f83d9c379]
|
||||
CVE: CVE-2022-29869
|
||||
Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
|
||||
---
|
||||
mount.cifs.c | 6 +-----
|
||||
1 file changed, 1 insertion(+), 5 deletions(-)
|
||||
|
||||
diff --git a/mount.cifs.c b/mount.cifs.c
|
||||
index 3a6b449..2278995 100644
|
||||
--- a/mount.cifs.c
|
||||
+++ b/mount.cifs.c
|
||||
@@ -628,17 +628,13 @@ static int open_cred_file(char *file_name,
|
||||
goto return_i;
|
||||
break;
|
||||
case CRED_DOM:
|
||||
- if (parsed_info->verboseflag)
|
||||
- fprintf(stderr, "domain=%s\n",
|
||||
- temp_val);
|
||||
strlcpy(parsed_info->domain, temp_val,
|
||||
sizeof(parsed_info->domain));
|
||||
break;
|
||||
case CRED_UNPARSEABLE:
|
||||
if (parsed_info->verboseflag)
|
||||
fprintf(stderr, "Credential formatted "
|
||||
- "incorrectly: %s\n",
|
||||
- temp_val ? temp_val : "(null)");
|
||||
+ "incorrectly\n");
|
||||
break;
|
||||
}
|
||||
}
|
||||
--
|
||||
2.34.1
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user