This update for libheimdal fixes the following issues:
libheimdal was updated to version 7.7.0:
PKCS#11 hcrypto back-end:
initialize the p11_module_load function list
verify that not only is a mechanism present but that its mechanism info states that it offers the required encryption, decryption or digest services
Starting with 7.6, Heimdal permitted requesting authenticated anonymous tickets. However, it did not verify that a KDC in fact returned an anonymous ticket when one was requested.
use memset_s() instead of memset()
When generating KRB5SignedPath in the AS, use the reply client name rather than the one from the request, so validation will work correctly in the TGS.
Detect Heimdal 1.0 through 7.6 clients that issue S4UProxy (constrained delegation) TGS Requests with the request anonymous flag set. These requests will be treated as S4UProxy requests and not anonymous requests.
Set SQLite3 backend default page size to 8KB.
Add hdb_set_sync() method
disable HDB sync during database load avoiding unnecessary disk i/o.
disable HDB sync during receive_everything. Doing an fsync per-record when receiving the complete HDB is a performance disaster. Among other things, if the HDB is very large, then one slave receving a full HDB can cause other slaves to timeout and, if HDB write activity is high enough to cause iprop log truncation, then also need full syncs, which leads to a cycle of full syncs for all slaves until HDB write activity drops. Allowing the iprop log to be larger helps, but improving receive_everything() performance helps even more.
Anonymous PKINIT tickets discard the realm information used to locate the issuing AS. Store the issuing realm in the credentials cache in order to locate a KDC which can renew them.
Do not leak the result of krb5_cc_get_config() when determining anonymous PKINIT start realm.
Show transited-policy-checked, ok-as-delegate and anonymous flags when listing credentials.
Regenerate certs so that they expire before the 2038 armageddon so the test suite will pass on 32-bit operating systems until the underlying issues can be resolved.
rename verify-password to verify-password-quality
When the Heimdal KDC checks the checksum that is placed on the S4U2Self packet by the server to protect the requested principal against modification, it does not confirm that the checksum algorithm that protects the user name (principal) in the request is keyed. This allows a man-in-the-middle attacker who can intercept the request to the KDC to modify the packet by replacing the user name (principal) in the request with any desired user name (principal) that exists in the KDC and replace the checksum protecting that name with a CRC32 checksum (which requires no prior knowledge to compute). This would allow a S4U2Self ticket requested on behalf of user name (principal) user@xxxxxxxxxxx to any service to be changed to a S4U2Self ticket with a user name (principal) of Administrator@xxxxxxxxxxx. This ticket would then contain the PAC of the modified user name (principal).
RFC8062 Section 7 requires verification of the PA-PKINIT-KX key exchange when anonymous PKINIT is used. Failure to do so can permit an active attacker to become a man-in-the-middle.
Happy eyeballs: Don't wait for responses from known-unreachable KDCs.
check return copy_Realm, copy_PrincipalName, copy_EncryptionKey
cleanup temporary ccaches
see man page for "kinit --anonymous" command line syntax change
Make anonymous AS-requests more RFC8062-compliant. Updated expired test certificates