[krbdev.mit.edu #6108] A client can fail to get initial creds if it changes the password while doing so.

Greg Hudson via RT rt-comment at krbdev.mit.edu
Wed Apr 1 15:33:27 EDT 2009


Hi, sorry to take so long to look into this, and thanks for your report.
 I haven't tried reproducing your problem, so apologies if I'm just
confusing myself, but I don't see how your scenario can pan out.  Here
is what I would expect to happen:

1. Client contacts slave KDC, gets KRB5KDC_ERR_KEY_EXP.

2. Client retries with master KDC, setting use_master to 1 (line 159). 
It gets back KRB5KDC_ERR_KEY_EXP again.  Because that value is not one
of KRB5_KDC_UNREACH, KRB5_REALM_CANT_RESOLVE, or KRB5_REALM_UNKNOWN
(line 178), use_master remains 1.

3. Client gets kadmin/changepw tickets from the master, because
use_master is still 1.

4. Client changes password.

5. Client gets a TGT from the master (use_master is still 1).

Your suggested solution would only take effect in a more unlikely
scenario, where in step 2 the client is unable to contact the master KDC
and thus resets use_master to 0, but is able to change the password.

The other part of your bug report appears to be that preauth can fail
when talking to a slave with an out-of-date key.  I can see how that
might be true but want to talk about it with other people first.



More information about the krb5-bugs mailing list