[2480] in Kerberos-V5-bugs

home help back first fref pref prev next nref lref last post

krb5-kdc/212: TGS-REQ handling is incorrect

daemon@ATHENA.MIT.EDU (Marc Horowitz)
Wed Nov 20 19:53:27 1996

Resent-From: gnats@rt-11.MIT.EDU (GNATS Management)
Resent-To: krb5-unassigned@RT-11.MIT.EDU
Resent-Reply-To: krb5-bugs@MIT.EDU, Marc Horowitz <marc@cygnus.com>
Date: 20 Nov 1996 19:52:34 -0500
From: Marc Horowitz <marc@cygnus.com>
To: krb5-bugs@MIT.EDU


>Number:         212
>Category:       krb5-kdc
>Synopsis:       TGS-REQ handling is incorrect
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    krb5-unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   unknown
>Arrival-Date:   Wed Nov 20 19:53:00 EST 1996
>Last-Modified:
>Originator:     Marc Horowitz
>Organization:
Cygnus Support, Mountain View, CA
>Release:        
>Environment:
	<machine, os, target, libraries (multiple lines)>
System: NetBSD rover 1.2B NetBSD 1.2B (MARC) #0: Thu Nov 7 00:29:02 EST 1996 marc@rover:/u3/netbsd/src/sys/arch/i386/compile/MARC i386


>Description:

There are some discrepancies between RFC1510 and the code in the MIT
tree w.r.t. TGS-REQ handling.  rfc1510 section 3.3.2 states:

   Once the accompanying ticket has been decrypted, the user-supplied
   checksum in the Authenticator must be verified against the contents
   of the request, and the message rejected if the checksums do not
   match (with an error code of KRB_AP_ERR_MODIFIED) or if the checksum
   is not keyed or not collision-proof (with an error code of
   KRB_AP_ERR_INAPP_CKSUM).

Thus, the checksum in the authenticator must be keyed and
collision-proof.

rfc1510 section 5.4.1 says:

                                 The checksum in the authenticator
             (which must be collisionproof) is to be computed over the
             KDC-REQ-BODY encoding.

Which just requires that it be collision-proof.

These two section conflict.  The kdc only requires that the checksum
be collision-proof.  The client library defaults to a non-keyed
checksum, but one could be customized in the krb5.conf file.  

TGS-REP seems to be handled properly, with or without a subkey
present.

There does not seem to be any code which would cause a core dump if an
improper request is sent to the kdc.

>How-To-Repeat:
	<code/input/activities to reproduce the problem (multiple lines)>
>Fix:
	<how to correct or work around the problem, if known (multiple lines)>
>Audit-Trail:
>Unformatted:

home help back first fref pref prev next nref lref last post