diff --git a/lib/krb5/crypto.c b/lib/krb5/crypto.c index a1d00600a..47c28c0b4 100644 --- a/lib/krb5/crypto.c +++ b/lib/krb5/crypto.c @@ -217,6 +217,8 @@ DES_string_to_key_int(unsigned char *data, size_t length, DES_cblock *key) DES_cbc_cksum((void*)data, key, length, &schedule, key); memset(&schedule, 0, sizeof(schedule)); DES_set_odd_parity(key); + if(DES_is_weak_key(key)) + (*key)[7] ^= 0xF0; } static krb5_error_code