diff options
| author | hongxu <hongxu.jia@eng.windriver.com> | 2024-11-22 17:39:22 +0800 |
|---|---|---|
| committer | Armin Kuster <akuster808@gmail.com> | 2024-12-08 15:02:11 -0500 |
| commit | 55bb99d80c9a0fabb4effbeeff19e869fd56940c (patch) | |
| tree | df9adfe533239e298a38f2a15955fad030f86c50 | |
| parent | 26ef6a9c2da06b7de4116c483f9197fd4cf2a4cb (diff) | |
| download | meta-openembedded-55bb99d80c9a0fabb4effbeeff19e869fd56940c.tar.gz | |
ntfs-3g-ntfsprogs: fix CVE-2023-52890
Backport fix from upstream
https://github.com/tuxera/ntfs-3g/commit/75dcdc2cf37478fad6c0e3427403d198b554951d
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
2 files changed, 43 insertions, 0 deletions
diff --git a/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/files/0001-unistr.c-Fix-use-after-free-in-ntfs_uppercase_mbs.patch b/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/files/0001-unistr.c-Fix-use-after-free-in-ntfs_uppercase_mbs.patch new file mode 100644 index 0000000000..3160f56880 --- /dev/null +++ b/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/files/0001-unistr.c-Fix-use-after-free-in-ntfs_uppercase_mbs.patch | |||
| @@ -0,0 +1,42 @@ | |||
| 1 | From 7b6210c5be46e5120b42c09f910e8f104bf3edf1 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Erik Larsson <erik@tuxera.com> | ||
| 3 | Date: Tue, 13 Jun 2023 17:47:15 +0300 | ||
| 4 | Subject: [PATCH] unistr.c: Fix use-after-free in 'ntfs_uppercase_mbs'. | ||
| 5 | |||
| 6 | If 'utf8_to_unicode' throws an error due to an invalid UTF-8 sequence, | ||
| 7 | then 'n' will be less than 0 and the loop will terminate without storing | ||
| 8 | anything in '*t'. After the loop the uppercase string's allocation is | ||
| 9 | freed, however after it is freed it is unconditionally accessed through | ||
| 10 | '*t', which points into the freed allocation, for the purpose of NULL- | ||
| 11 | terminating the string. This leads to a use-after-free. | ||
| 12 | Fixed by only NULL-terminating the string when no error has been thrown. | ||
| 13 | |||
| 14 | Thanks for Jeffrey Bencteux for reporting this issue: | ||
| 15 | https://github.com/tuxera/ntfs-3g/issues/84 | ||
| 16 | |||
| 17 | Upstream-Status: Backport [https://github.com/tuxera/ntfs-3g/commit/75dcdc2cf37478fad6c0e3427403d198b554951d] | ||
| 18 | CVE: CVE-2023-52890 | ||
| 19 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> | ||
| 20 | |||
| 21 | --- | ||
| 22 | libntfs-3g/unistr.c | 3 ++- | ||
| 23 | 1 file changed, 2 insertions(+), 1 deletion(-) | ||
| 24 | |||
| 25 | diff --git a/libntfs-3g/unistr.c b/libntfs-3g/unistr.c | ||
| 26 | index 5854b3b..db8ddf4 100644 | ||
| 27 | --- a/libntfs-3g/unistr.c | ||
| 28 | +++ b/libntfs-3g/unistr.c | ||
| 29 | @@ -1189,8 +1189,9 @@ char *ntfs_uppercase_mbs(const char *low, | ||
| 30 | free(upp); | ||
| 31 | upp = (char*)NULL; | ||
| 32 | errno = EILSEQ; | ||
| 33 | + } else { | ||
| 34 | + *t = 0; | ||
| 35 | } | ||
| 36 | - *t = 0; | ||
| 37 | } | ||
| 38 | return (upp); | ||
| 39 | } | ||
| 40 | -- | ||
| 41 | 2.34.1 | ||
| 42 | |||
diff --git a/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2022.10.3.bb b/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2022.10.3.bb index 37a8106bb0..be2a5245ce 100644 --- a/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2022.10.3.bb +++ b/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2022.10.3.bb | |||
| @@ -8,6 +8,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ | |||
| 8 | 8 | ||
| 9 | SRC_URI = "http://tuxera.com/opensource/ntfs-3g_ntfsprogs-${PV}.tgz \ | 9 | SRC_URI = "http://tuxera.com/opensource/ntfs-3g_ntfsprogs-${PV}.tgz \ |
| 10 | file://0001-libntfs-3g-Makefile.am-fix-install-failed-while-host.patch \ | 10 | file://0001-libntfs-3g-Makefile.am-fix-install-failed-while-host.patch \ |
| 11 | file://0001-unistr.c-Fix-use-after-free-in-ntfs_uppercase_mbs.patch \ | ||
| 11 | " | 12 | " |
| 12 | S = "${WORKDIR}/ntfs-3g_ntfsprogs-${PV}" | 13 | S = "${WORKDIR}/ntfs-3g_ntfsprogs-${PV}" |
| 13 | SRC_URI[sha256sum] = "f20e36ee68074b845e3629e6bced4706ad053804cbaf062fbae60738f854170c" | 14 | SRC_URI[sha256sum] = "f20e36ee68074b845e3629e6bced4706ad053804cbaf062fbae60738f854170c" |
