Skip Menu |
 

Subject: Allow client principal canonicalization for non-TGT AS requests
get_in_tkt.c:verify_as_reply() allows changes to the client and server
principals in the reply under certain conditions. We only allow changes
to the server principal if the requested and received server principal
are krbtgt principals, in order to mitigate some of the attacks
described in the security considerations of RFC 6806. However, we also
disallow changes to the client principal for non-krbtgt requests, which
does not seem to have any rationale. See:

http://mailman.mit.edu/pipermail/krbdev/2017-February/012721.html
From: ghudson@mit.edu
Subject: git commit

Allow client canonicalization in non-krbtgt AS-REP

If a caller makes an AS-REQ with the canonicalize flag set (or with an
enterprise client principal or the anonymous flag), always allow the
KDC to change the client principal. Continue to restrict server name
changes to requests for TGS principals.

Also remove the conditional for setting canon_ok for fully anonymous
requests. Both kinds of anonymous requests change the client
principal or realm, but neither kind changes the server principal or
realm, so this logic is no longer needed now that canon_ok only
applies to server name changes.

[ghudson@mit.edu: clarified commit message; removed anonymous PKINIT
clause]

https://github.com/krb5/krb5/commit/c6c19b1d35c6523cb7ed220c1f2e97e12e039293
Author: Isaac Boukris <iboukris@gmail.com>
Committer: Greg Hudson <ghudson@mit.edu>
Commit: c6c19b1d35c6523cb7ed220c1f2e97e12e039293
Branch: master
src/lib/krb5/krb/get_in_tkt.c | 9 ++-------
src/tests/t_kdb.py | 3 +++
2 files changed, 5 insertions(+), 7 deletions(-)