[20095] in Kerberos_V5_Development

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

Re: NegoEx broke GSSAPI in BIND 9

daemon@ATHENA.MIT.EDU (Greg Hudson)
Thu May 21 13:37:15 2020

To: =?UTF-8?B?T25kxZllaiBTdXLDvQ==?= <ondrej@isc.org>
From: Greg Hudson <ghudson@mit.edu>
Message-ID: <ee97a794-d1e6-ba95-2031-8cc35ae0bcde@mit.edu>
Date: Thu, 21 May 2020 13:36:47 -0400
MIME-Version: 1.0
In-Reply-To: <64B463AE-4D74-408B-A662-16E5D184E014@isc.org>
Content-Language: en-US
Cc: krbdev@mit.edu
Content-Type: text/plain; charset="utf-8"
Errors-To: krbdev-bounces@mit.edu
Content-Transfer-Encoding: 8bit

With some help from Ondřej setting up the test environment I found the
bug.  It's unfortunately pretty bad, and I'm surprised it hasn't been
more of an issue.  The bug applies when a the server uses the default
acceptor credential and no ccache with tickets is present in the
environment.  The first of those criteria might be rarer than I would
have thought.

The bug is in spnego_mech.c:acc_ctx_new(), which was accidentally
changed to call get_negotiable_mechs() with GSS_C_INITIATE instead of
GSS_C_ACCEPT.  When the default credential is used, this usage causes
mechs to be filtered by availability of initiator rather than acceptor
credentials.  If there is a non-empty ccache in the environment (as is
almost always the case in krb5's automated tests), things work fine, but
if not, krb5 is erroneously filtered out.

I will speed through a patch release.

_______________________________________________
krbdev mailing list             krbdev@mit.edu
https://mailman.mit.edu/mailman/listinfo/krbdev


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