Fix KDC crash when logging PKINIT enctypes #981
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
[It doesn't look like there's any existing way to send PKINIT enctypes in an AS or TGS request with the current code. I tested manually by changing krb5int_parse_enctype_list() to add the enctype I wanted.
While testing this I noted that new enctypes will generate strings like "DEPRECATED:(5000)" in the KDC log, because krb5int_c_deprecated_enctype() returns true for unknown enctypes. This requires some thought; an enctype we don't recognize could be either too old or too new to be on the list. PKINIT enctypes are also marked as deprecated because they were never in the libk5crypto list, and it's unclear whether this is correct.]
Commit a649279 introduced a KDC crash
bug due to transposed strlcpy() arguments. Fix the argument order.
This bug does not affect any MIT krb5 release, but affects the Fedora
krb5 packages due to backports. CVE-2019-14844 has been issued as a
result.