Bug 713518 - Canonicalize fallback only works for different realm (MITKRB RT #6917)
Canonicalize fallback only works for different realm (MITKRB RT #6917)
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: krb5 (Show other bugs)
6.1
All Linux
urgent Severity high
: rc
: ---
Assigned To: Nalin Dahyabhai
BaseOS QE Security Team
: Regression, ZStream
Depends On:
Blocks: 714866
  Show dependency treegraph
 
Reported: 2011-06-15 12:18 EDT by Burt Holzman
Modified: 2013-11-04 08:26 EST (History)
7 users (show)

See Also:
Fixed In Version: krb5-1.9-10.el6
Doc Type: Bug Fix
Doc Text:
Certain versions of the KDC software (included for example in Red Hat Enterprise Linux 2.1 and 3) reject requests, which include KDC options the software does not recognize, and do not support the "canonicalize" option. When a client was configured to use one of these versions of the KDC software, the client failed to obtain credentials for authentication to other services. This interoperability regression was introduced in the update to Red Hat Enterprise Linux 6.1. With this update, an upstream patch has been provided to fix this bug.
Story Points: ---
Clone Of:
: 715074 (view as bug list)
Environment:
Last Closed: 2011-12-06 12:36:52 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
Patch to re-enable same-realm fallback for canonicalize errors (2.40 KB, text/plain)
2011-06-15 12:18 EDT, Burt Holzman
no flags Details

  None (edit)
Description Burt Holzman 2011-06-15 12:18:19 EDT
Created attachment 504902 [details]
Patch to re-enable same-realm fallback for canonicalize errors

Description of problem:

Clients linked against Kerberos 1.9 fail against older KDCs that don't support canonicalize.  This affects FNAL, since we have operational needs to keep KDC online, but want to allow folks running RHEL6 (and compatible) to connect.

Version-Release number of selected component (if applicable):
krb-1.9

How reproducible:

Always.

Steps to Reproduce:

1. kinit with an older (1.2?) KDC.  
2. ssh using kerberos to another node.

  
Actual results:

debug1: Unspecified GSS failure.  Minor code may provide more information
KDC can't fulfill requested option


Expected results:

Successful ssh connection

Additional info:

Here's the mail from Greg Hudson from the MIT Kerberos team:

Neither of these functions is used in the TGS request path.  What
actually happened was a change in the fallback behavior when get_creds.c
was rewritten for 1.9.  Previously, we would retry without the
canonicalize bit set any time we got an error from our first referral
request, but in 1.9 we only retry if we would be doing so in a different
realm.

The old fallback behavior will be restored in 1.9.2 (I just committed
the patch), but depending on your deployment scenario, it may be easier
to work around this problem by patching the KDC.  It would be a very
simple patch to validate_tgs_request() in kdc_util.c. 

I've attached Greg's patch.  It applies cleanly (with fuzz) to 1.9-9, and I did some rudimentary testing at Fermilab which was successful.
Comment 9 Tomas Capek 2011-06-28 04:35:47 EDT
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
Certain versions of the KDC software (included for example in Red Hat Enterprise Linux 2.1 and 3) reject requests, which include KDC options the software does not recognize, and do not support the "canonicalize" option. When a client was configured to use one of these versions of the KDC software, the client failed to obtain credentials for authentication to other services. This interoperability regression was introduced in the update to Red Hat Enterprise Linux 6.1. With this update, an upstream patch has been provided to fix this bug.
Comment 12 errata-xmlrpc 2011-12-06 12:36:52 EST
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2011-1707.html

Note You need to log in before you can comment on or make changes to this bug.