mirror of
git://git.openembedded.org/meta-openembedded
synced 2026-09-17 00:25:36 +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"
|
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
|
||||||
|
|
||||||
SRCREV = "8c06dce7d596e478c20bc54bdcec87ad97f80a1b"
|
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"
|
S = "${WORKDIR}/git"
|
||||||
DEPENDS += "libtalloc"
|
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