krb5-kdc: Cannot change passwords if password history is used

Greg Hudson ghudson at MIT.EDU
Tue Mar 6 13:24:27 EST 2012


I believe we've figured out what led to this situation.

* In 1.2 and prior, kadmin/history was created with all of the
supported key:salt types.  In 1.3 and later, kadmin/history is created
with only the master key enctype.

* In 1.7 and prior, the kadmin/history key is selected by looking for
a key entry of the master key enctype (which was problematic if the
master key enctype changed).  In 1.8 and later, the first key entry is
selected.

So, a KDB created with 1.2 or earlier, and with password history
entries from 1.7 or earlier, will run into this problem when used with
1.8 or later.

Our likely fix will be to try all kadmin/history keys when decrypting
password history entries.  This should be cheap in most cases because
most KDBs have only one kadmin/history key.

We're also reconsidering whether failure to decrypt a history entry
should continue to be fatal to the password change operation, or if
the history entry should just be ignored (which could wrongly permit
the use of historical passwords).

I can see two workarounds (short of disabling password history
altogether):

1. Roll the history key with "cpw -randkey kadmin/history".  This will
cause all of your users' existing password history entries to be
ignored, so don't do so lightly.

2. When we have a fix prepared, apply it to your KDC source code and
rebuild.


More information about the Kerberos mailing list