summaryrefslogtreecommitdiffstats
path: root/meta-oe
diff options
context:
space:
mode:
authorWenzong Fan <wenzong.fan@windriver.com>2015-11-14 05:22:28 -0500
committerArmin Kuster <akuster808@gmail.com>2015-12-20 14:11:42 -0800
commitbe9179c85d669bc5a561cc3ba0ade42e09e3cd14 (patch)
treec693ce24d99cbf0d1fe8f5116d2e55eb6f322d9d /meta-oe
parentac3b050b1124397cc30d0293705328d1396acfe5 (diff)
downloadmeta-openembedded-be9179c85d669bc5a561cc3ba0ade42e09e3cd14.tar.gz
krb5: fix CVE-2015-2697
The build_principal_va function in lib/krb5/krb/bld_princ.c in MIT Kerberos 5 (aka krb5) before 1.14 allows remote authenticated users to cause a denial of service (out-of-bounds read and KDC crash) via an initial '\0' character in a long realm field within a TGS request. Backport upstream commit to fix it: https://github.com/krb5/krb5/commit/f0c094a1b745d91ef2f9a4eae2149aac026a5789 Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Armin Kuster <akuster808@gmail.com>
Diffstat (limited to 'meta-oe')
-rw-r--r--meta-oe/recipes-connectivity/krb5/krb5/Fix-build_principal-memory-bug-CVE-2015-2697.patch58
-rw-r--r--meta-oe/recipes-connectivity/krb5/krb5_1.13.2.bb1
2 files changed, 59 insertions, 0 deletions
diff --git a/meta-oe/recipes-connectivity/krb5/krb5/Fix-build_principal-memory-bug-CVE-2015-2697.patch b/meta-oe/recipes-connectivity/krb5/krb5/Fix-build_principal-memory-bug-CVE-2015-2697.patch
new file mode 100644
index 000000000..9b0c18b75
--- /dev/null
+++ b/meta-oe/recipes-connectivity/krb5/krb5/Fix-build_principal-memory-bug-CVE-2015-2697.patch
@@ -0,0 +1,58 @@
1From 9cb63711e63042f22da914ba039c4537b22e8fb0 Mon Sep 17 00:00:00 2001
2From: Greg Hudson <ghudson@mit.edu>
3Date: Fri, 25 Sep 2015 12:51:47 -0400
4Subject: [PATCH 3/4] Fix build_principal memory bug [CVE-2015-2697]
5
6In build_principal_va(), use k5memdup0() instead of strdup() to make a
7copy of the realm, to ensure that we allocate the correct number of
8bytes and do not read past the end of the input string. This bug
9affects krb5_build_principal(), krb5_build_principal_va(), and
10krb5_build_principal_alloc_va(). krb5_build_principal_ext() is not
11affected.
12
13CVE-2015-2697:
14
15In MIT krb5 1.7 and later, an authenticated attacker may be able to
16cause a KDC to crash using a TGS request with a large realm field
17beginning with a null byte. If the KDC attempts to find a referral to
18answer the request, it constructs a principal name for lookup using
19krb5_build_principal() with the requested realm. Due to a bug in this
20function, the null byte causes only one byte be allocated for the
21realm field of the constructed principal, far less than its length.
22Subsequent operations on the lookup principal may cause a read beyond
23the end of the mapped memory region, causing the KDC process to crash.
24
25CVSSv2: AV:N/AC:L/Au:S/C:N/I:N/A:C/E:POC/RL:OF/RC:C
26
27ticket: 8252 (new)
28target_version: 1.14
29tags: pullup
30
31Backport upstream commit:
32https://github.com/krb5/krb5/commit/f0c094a1b745d91ef2f9a4eae2149aac026a5789
33
34Upstream-Status: Backport
35---
36 src/lib/krb5/krb/bld_princ.c | 6 ++----
37 1 file changed, 2 insertions(+), 4 deletions(-)
38
39diff --git a/src/lib/krb5/krb/bld_princ.c b/src/lib/krb5/krb/bld_princ.c
40index ab6fed8..8604268 100644
41--- a/src/lib/krb5/krb/bld_princ.c
42+++ b/src/lib/krb5/krb/bld_princ.c
43@@ -40,10 +40,8 @@ build_principal_va(krb5_context context, krb5_principal princ,
44 data = malloc(size * sizeof(krb5_data));
45 if (!data) { retval = ENOMEM; }
46
47- if (!retval) {
48- r = strdup(realm);
49- if (!r) { retval = ENOMEM; }
50- }
51+ if (!retval)
52+ r = k5memdup0(realm, rlen, &retval);
53
54 while (!retval && (component = va_arg(ap, char *))) {
55 if (count == size) {
56--
571.9.1
58
diff --git a/meta-oe/recipes-connectivity/krb5/krb5_1.13.2.bb b/meta-oe/recipes-connectivity/krb5/krb5_1.13.2.bb
index 6c25d825d..c6b873a3a 100644
--- a/meta-oe/recipes-connectivity/krb5/krb5_1.13.2.bb
+++ b/meta-oe/recipes-connectivity/krb5/krb5_1.13.2.bb
@@ -25,6 +25,7 @@ SRC_URI = "http://web.mit.edu/kerberos/dist/${BPN}/${SHRT_VER}/${BP}-signed.tar
25 file://debian-suppress-usr-lib-in-krb5-config.patch;striplevel=2 \ 25 file://debian-suppress-usr-lib-in-krb5-config.patch;striplevel=2 \
26 file://Fix-SPNEGO-context-aliasing-bugs-CVE-2015-2695.patch;striplevel=2 \ 26 file://Fix-SPNEGO-context-aliasing-bugs-CVE-2015-2695.patch;striplevel=2 \
27 file://Fix-IAKERB-context-aliasing-bugs-CVE-2015-2696.patch;striplevel=2 \ 27 file://Fix-IAKERB-context-aliasing-bugs-CVE-2015-2696.patch;striplevel=2 \
28 file://Fix-build_principal-memory-bug-CVE-2015-2697.patch;striplevel=2 \
28 file://crosscompile_nm.patch \ 29 file://crosscompile_nm.patch \
29 file://etc/init.d/krb5-kdc \ 30 file://etc/init.d/krb5-kdc \
30 file://etc/init.d/krb5-admin-server \ 31 file://etc/init.d/krb5-admin-server \