Skip Menu |
 

From: ghudson@mit.edu
Subject: git commit

Remove incorrect KDC assertion

The assertion in return_enc_padata() is reachable because
kdc_make_s4u2self_rep() may have previously added encrypted padata.
It is no longer necessary because the code uses add_pa_data_element()
instead of allocating a new list.

CVE-2018-20217:

In MIT krb5 1.8 or later, an authenticated user who can obtain a TGT
using an older encryption type (DES, DES3, or RC4) can cause an
assertion failure in the KDC by sending an S4U2Self request.

[ghudson@mit.edu: rewrote commit message with CVE description]

https://github.com/krb5/krb5/commit/94e5eda5bb94d1d44733a49c3d9b6d1e42c74def
Author: Isaac Boukris <iboukris@gmail.com>
Committer: Greg Hudson <ghudson@mit.edu>
Commit: 94e5eda5bb94d1d44733a49c3d9b6d1e42c74def
Branch: master
src/kdc/kdc_preauth.c | 1 -
src/tests/gssapi/t_s4u.py | 8 ++++++++
2 files changed, 8 insertions(+), 1 deletions(-)
Download (untitled) / with headers
text/plain 1.1KiB
Bug history:

Encrypted padata was introduced to the KDC by ticket 6313 with only
one use, return_svr_referral_data(). This function performed its own
allocation of the list, and accordingly verified with an assert()
that no code had previously populated the encrypted padata field.

Ticket 6563 added another use of encrypted padata,
kdc_make_s4u2self_rep(), without adjusting the original use to
accomodate existing encrypted padata. At this point an assertion
failure could only arise when returning a referral for an S4U2Self
request, because return_svr_referral_data() was only called on the
TGS path when issuing a referral.

Ticket 6595 and 6656 add a third use of encrypted padata, FAST
negotiation. An assertion remains in the new function
return_enc_padata() that no prior code has set encrypted padata, even
though the code (after the second ticket) uses add_pa_data_element()
instead of allocating a new list. Since return_enc_padata() is now
called unconditionally on the TGS path, the KDC will always abort if
kdc_make_s4u2self_rep() adds encrypted padata. This happens if the
TGT session key uses an older encrypted type (DES, DES3, or RC4).
From: ghudson@mit.edu
Subject: git commit

Remove incorrect KDC assertion

The assertion in return_enc_padata() is reachable because
kdc_make_s4u2self_rep() may have previously added encrypted padata.
It is no longer necessary because the code uses add_pa_data_element()
instead of allocating a new list.

CVE-2018-20217:

In MIT krb5 1.8 or later, an authenticated user who can obtain a TGT
using an older encryption type (DES, DES3, or RC4) can cause an
assertion failure in the KDC by sending an S4U2Self request.

[ghudson@mit.edu: rewrote commit message with CVE description]

(cherry picked from commit 94e5eda5bb94d1d44733a49c3d9b6d1e42c74def)

https://github.com/krb5/krb5/commit/56870f9456da78d77a667dfc03a6d90f948dc3a5
Author: Isaac Boukris <iboukris@gmail.com>
Committer: Greg Hudson <ghudson@mit.edu>
Commit: 56870f9456da78d77a667dfc03a6d90f948dc3a5
Branch: krb5-1.16
src/kdc/kdc_preauth.c | 1 -
src/tests/gssapi/t_s4u.py | 7 +++++++
2 files changed, 7 insertions(+), 1 deletions(-)
From: ghudson@mit.edu
Subject: git commit

Remove incorrect KDC assertion

The assertion in return_enc_padata() is reachable because
kdc_make_s4u2self_rep() may have previously added encrypted padata.
It is no longer necessary because the code uses add_pa_data_element()
instead of allocating a new list.

CVE-2018-20217:

In MIT krb5 1.8 or later, an authenticated user who can obtain a TGT
using an older encryption type (DES, DES3, or RC4) can cause an
assertion failure in the KDC by sending an S4U2Self request.

[ghudson@mit.edu: rewrote commit message with CVE description]

(cherry picked from commit 94e5eda5bb94d1d44733a49c3d9b6d1e42c74def)

https://github.com/krb5/krb5/commit/17cc01779e8e40cc414b39bc2a99fd48bb064124
Author: Isaac Boukris <iboukris@gmail.com>
Committer: Greg Hudson <ghudson@mit.edu>
Commit: 17cc01779e8e40cc414b39bc2a99fd48bb064124
Branch: krb5-1.15
src/kdc/kdc_preauth.c | 1 -
src/tests/gssapi/t_s4u.py | 7 +++++++
2 files changed, 7 insertions(+), 1 deletions(-)
From: ghudson@mit.edu
Subject: git commit

Remove incorrect KDC assertion

The assertion in return_enc_padata() is reachable because
kdc_make_s4u2self_rep() may have previously added encrypted padata.
It is no longer necessary because the code uses add_pa_data_element()
instead of allocating a new list.

CVE-2018-20217:

In MIT krb5 1.8 or later, an authenticated user who can obtain a TGT
using an older encryption type (DES, DES3, or RC4) can cause an
assertion failure in the KDC by sending an S4U2Self request.

[ghudson@mit.edu: rewrote commit message with CVE description]

(cherry picked from commit 94e5eda5bb94d1d44733a49c3d9b6d1e42c74def)

https://github.com/krb5/krb5/commit/b3d99446275374970d1816c4cd1eb16a0a905373
Author: Isaac Boukris <iboukris@gmail.com>
Committer: Greg Hudson <ghudson@mit.edu>
Commit: b3d99446275374970d1816c4cd1eb16a0a905373
Branch: krb5-1.17
src/kdc/kdc_preauth.c | 1 -
src/tests/gssapi/t_s4u.py | 8 ++++++++
2 files changed, 8 insertions(+), 1 deletions(-)