diff options
| author | Polampalli, Archana ñ <archana.polampalli@windriver.com> | 2023-06-16 12:19:31 +0000 |
|---|---|---|
| committer | Armin Kuster <akuster808@gmail.com> | 2023-06-17 14:21:38 -0400 |
| commit | 84544d644086e5e003fbd4056ae5e9135a94ac00 (patch) | |
| tree | 3a8c6cbf91210d0851367043b08b7195ee70b6e4 | |
| parent | 9d203efe8f01fa7d433a52ae1098cb27ede07119 (diff) | |
| download | meta-openembedded-84544d644086e5e003fbd4056ae5e9135a94ac00.tar.gz | |
samba: fix CVE-2022-45142
The fix for CVE-2022-3437 included changing memcmp to be constant
time and a workaround for a compiler bug by adding "!= 0"
comparisons to the result of memcmp. When these patches were
backported to the heimdal-7.7.1 and heimdal-7.8.0 branches (and
possibly other branches) a logic inversion sneaked in causing the
validation of message integrity codes in gssapi/arcfour to be inverted.
References:
https://nvd.nist.gov/vuln/detail/CVE-2022-45142
Upstream patches:
https://www.openwall.com/lists/oss-security/2023/02/08/1
https://github.com/heimdal/heimdal/commit/5f63215d0d82678233fdfb1c07f4b421f57c528b
Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
| -rw-r--r-- | meta-networking/recipes-connectivity/samba/samba/CVE-2022-45142.patch | 51 | ||||
| -rw-r--r-- | meta-networking/recipes-connectivity/samba/samba_4.14.14.bb | 1 |
2 files changed, 52 insertions, 0 deletions
diff --git a/meta-networking/recipes-connectivity/samba/samba/CVE-2022-45142.patch b/meta-networking/recipes-connectivity/samba/samba/CVE-2022-45142.patch new file mode 100644 index 0000000000..d6b9826e4b --- /dev/null +++ b/meta-networking/recipes-connectivity/samba/samba/CVE-2022-45142.patch | |||
| @@ -0,0 +1,51 @@ | |||
| 1 | From: Helmut Grohne <helmut@...divi.de> | ||
| 2 | Subject: [PATCH v3] CVE-2022-45142: gsskrb5: fix accidental logic inversions | ||
| 3 | |||
| 4 | The referenced commit attempted to fix miscompilations with gcc-9 and | ||
| 5 | gcc-10 by changing `memcmp(...)` to `memcmp(...) != 0`. Unfortunately, | ||
| 6 | it also inverted the result of the comparison in two occasions. This | ||
| 7 | inversion happened during backporting the patch to 7.7.1 and 7.8.0. | ||
| 8 | |||
| 9 | Fixes: f6edaafcfefd ("gsskrb5: CVE-2022-3437 Use constant-time memcmp() | ||
| 10 | for arcfour unwrap") | ||
| 11 | Signed-off-by: Helmut Grohne <helmut@...divi.de> | ||
| 12 | |||
| 13 | Upstream-Status: Backport [https://www.openwall.com/lists/oss-security/2023/02/08/1] | ||
| 14 | CVE: CVE-2022-45142 | ||
| 15 | |||
| 16 | Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com> | ||
| 17 | --- | ||
| 18 | lib/gssapi/krb5/arcfour.c | 4 ++-- | ||
| 19 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
| 20 | |||
| 21 | Changes since v1: | ||
| 22 | * Fix typo in commit message. | ||
| 23 | * Mention 7.8.0 in commit message. Thanks to Jeffrey Altman. | ||
| 24 | |||
| 25 | Changes since v2: | ||
| 26 | * Add CVE identifier. | ||
| 27 | |||
| 28 | diff --git a/lib/gssapi/krb5/arcfour.c b/lib/gssapi/krb5/arcfour.c | ||
| 29 | index e838d007a..eee6ad72f 100644 | ||
| 30 | --- a/lib/gssapi/krb5/arcfour.c | ||
| 31 | +++ b/lib/gssapi/krb5/arcfour.c | ||
| 32 | @@ -365,7 +365,7 @@ _gssapi_verify_mic_arcfour(OM_uint32 * minor_status, | ||
| 33 | return GSS_S_FAILURE; | ||
| 34 | } | ||
| 35 | |||
| 36 | - cmp = (ct_memcmp(cksum_data, p + 8, 8) == 0); | ||
| 37 | + cmp = (ct_memcmp(cksum_data, p + 8, 8) != 0); | ||
| 38 | if (cmp) { | ||
| 39 | *minor_status = 0; | ||
| 40 | return GSS_S_BAD_MIC; | ||
| 41 | @@ -730,7 +730,7 @@ OM_uint32 _gssapi_unwrap_arcfour(OM_uint32 *minor_status, | ||
| 42 | return GSS_S_FAILURE; | ||
| 43 | } | ||
| 44 | |||
| 45 | - cmp = (ct_memcmp(cksum_data, p0 + 16, 8) == 0); /* SGN_CKSUM */ | ||
| 46 | + cmp = (ct_memcmp(cksum_data, p0 + 16, 8) != 0); /* SGN_CKSUM */ | ||
| 47 | if (cmp) { | ||
| 48 | _gsskrb5_release_buffer(minor_status, output_message_buffer); | ||
| 49 | *minor_status = 0; | ||
| 50 | -- | ||
| 51 | 2.38.1 | ||
diff --git a/meta-networking/recipes-connectivity/samba/samba_4.14.14.bb b/meta-networking/recipes-connectivity/samba/samba_4.14.14.bb index 39ba851942..cc07d51dc5 100644 --- a/meta-networking/recipes-connectivity/samba/samba_4.14.14.bb +++ b/meta-networking/recipes-connectivity/samba/samba_4.14.14.bb | |||
| @@ -30,6 +30,7 @@ SRC_URI = "${SAMBA_MIRROR}/stable/samba-${PV}.tar.gz \ | |||
| 30 | file://CVE-2022-3437-0006.patch;patchdir=source4/heimdal \ | 30 | file://CVE-2022-3437-0006.patch;patchdir=source4/heimdal \ |
| 31 | file://CVE-2022-3437-0007.patch;patchdir=source4/heimdal \ | 31 | file://CVE-2022-3437-0007.patch;patchdir=source4/heimdal \ |
| 32 | file://CVE-2022-3437-0008.patch;patchdir=source4/heimdal \ | 32 | file://CVE-2022-3437-0008.patch;patchdir=source4/heimdal \ |
| 33 | file://CVE-2022-45142.patch;patchdir=source4/heimdal \ | ||
| 33 | " | 34 | " |
| 34 | 35 | ||
| 35 | SRC_URI:append:libc-musl = " \ | 36 | SRC_URI:append:libc-musl = " \ |
