]> git.ipfire.org Git - thirdparty/krb5.git/commit
Prevent KDC unset status assertion failures
authorGreg Hudson <ghudson@mit.edu>
Thu, 13 Jul 2017 16:14:20 +0000 (12:14 -0400)
committerGreg Hudson <ghudson@mit.edu>
Fri, 22 Sep 2017 15:25:10 +0000 (11:25 -0400)
commitf1190a43fb6de5b70a11cd6ec97978e05b6083f1
treeecfaa18f82c5cc6473004dde13e574ba59208359
parent5949691d76eb41bb2c50c3d742a5cb03d1478d06
Prevent KDC unset status assertion failures

Assign status values if S4U2Self padata fails to decode, if an
S4U2Proxy request uses invalid KDC options, or if an S4U2Proxy request
uses an evidence ticket which does not match the canonicalized request
server principal name.  Reported by Samuel Cabrero.

If a status value is not assigned during KDC processing, default to
"UNKNOWN_REASON" rather than failing an assertion.  This change will
prevent future denial of service bugs due to similar mistakes, and
will allow us to omit assigning status values for unlikely errors such
as small memory allocation failures.

CVE-2017-11368:

In MIT krb5 1.7 and later, an authenticated attacker can cause an
assertion failure in krb5kdc by sending an invalid S4U2Self or
S4U2Proxy request.

  CVSSv3 Vector: AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H/E:H/RL:O/RC:C

(cherry picked from commit ffb35baac6981f9e8914f8f3bffd37f284b85970)

ticket: 8599
version_fixed: 1.14.6
src/kdc/do_as_req.c
src/kdc/do_tgs_req.c
src/kdc/kdc_util.c