Apply by doing:
	cd /usr/src
	patch -p0 < 014_kerberos.patch

Rebuild and install the Kerberos 5 library:
	cd lib/libkrb5
	make obj
	make depend
	make
	make install

And then rebuild and install the Kerberos 5 KDC:
	cd ../../kerberosV/libexec/kdc
	make obj
	make depend
	make
	make install

Index: kerberosV/src/lib/krb5/crypto.c
===================================================================
RCS file: /cvs/src/kerberosV/src/lib/krb5/crypto.c,v
retrieving revision 1.10
diff -p -u -p -u -r1.10 crypto.c
--- kerberosV/src/lib/krb5/crypto.c	6 Oct 2006 07:09:10 -0000	1.10
+++ kerberosV/src/lib/krb5/crypto.c	30 Mar 2010 17:30:23 -0000
@@ -3451,6 +3451,12 @@ decrypt_internal_derived(krb5_context co
 	return KRB5_BAD_MSIZE;
     }
 
+    if (len < checksum_sz + et->confoundersize) {
+	krb5_set_error_string(context, "Encrypted data shorter then "
+				  "checksum + confunder");
+	return KRB5_BAD_MSIZE;
+    }
+
     p = malloc(len);
     if(len != 0 && p == NULL) {
 	krb5_set_error_string(context, "malloc: out of memory");
@@ -3525,6 +3531,13 @@ decrypt_internal(krb5_context context,
     }
 
     checksum_sz = CHECKSUMSIZE(et->checksum);
+
+    if (len < checksum_sz + et->confoundersize) {
+	krb5_set_error_string(context, "Encrypted data shorter then "
+				  "checksum + confunder");
+	return KRB5_BAD_MSIZE;
+    }
+
     p = malloc(len);
     if(len != 0 && p == NULL) {
 	krb5_set_error_string(context, "malloc: out of memory");
@@ -3587,6 +3600,12 @@ decrypt_internal_special(krb5_context co
 
     if ((len % et->padsize) != 0) {
 	krb5_clear_error_string(context);
+	return KRB5_BAD_MSIZE;
+    }
+
+    if (len < cksum_sz + et->confoundersize) {
+	krb5_set_error_string(context, "Encrypted data shorter then "
+				  "checksum + confunder");
 	return KRB5_BAD_MSIZE;
     }
 
