diff options
author | delphij <delphij@FreeBSD.org> | 2017-07-12 08:07:16 +0000 |
---|---|---|
committer | delphij <delphij@FreeBSD.org> | 2017-07-12 08:07:16 +0000 |
commit | 19285e4939bf9d407078204de4e10a66650c6afa (patch) | |
tree | a03630872a4be9e342e738c46567a8e6d0fe4aae | |
parent | 101ebb49366149745702e4a1c7d19259e50228fc (diff) | |
download | FreeBSD-src-19285e4939bf9d407078204de4e10a66650c6afa.zip FreeBSD-src-19285e4939bf9d407078204de4e10a66650c6afa.tar.gz |
MFS r320907: MFC r320906: MFV r320905: Import upstream fix for
CVE-2017-11103.
In _krb5_extract_ticket() the KDC-REP service name must be obtained
from encrypted version stored in 'enc_part' instead of the unencrypted
version stored in 'ticket'. Use of the unecrypted version provides an
opportunity for successful server impersonation and other attacks.
Submitted by: hrs
Obtained from: Heimdal
Security: FreeBSD-SA-17:05.heimdal
Security: CVE-2017-11103
Approved by: re (kib)
-rw-r--r-- | crypto/heimdal/lib/krb5/ticket.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/crypto/heimdal/lib/krb5/ticket.c b/crypto/heimdal/lib/krb5/ticket.c index 4845a93..5b6eabe 100644 --- a/crypto/heimdal/lib/krb5/ticket.c +++ b/crypto/heimdal/lib/krb5/ticket.c @@ -713,8 +713,8 @@ _krb5_extract_ticket(krb5_context context, /* check server referral and save principal */ ret = _krb5_principalname2krb5_principal (context, &tmp_principal, - rep->kdc_rep.ticket.sname, - rep->kdc_rep.ticket.realm); + rep->enc_part.sname, + rep->enc_part.srealm); if (ret) goto out; if((flags & EXTRACT_TICKET_ALLOW_SERVER_MISMATCH) == 0){ |