From 97a48adf4afb503e1f3dc5fcb9c8213cf9b08b5f Mon Sep 17 00:00:00 2001 From: Tal Aloni Date: Fri, 25 Aug 2017 02:29:42 +0300 Subject: [PATCH] GSSProvider: Properly handle invalid SPNEGO Token --- SMBLibrary/Authentication/GSSAPI/GSSProvider.cs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/SMBLibrary/Authentication/GSSAPI/GSSProvider.cs b/SMBLibrary/Authentication/GSSAPI/GSSProvider.cs index c5d3167..ac32502 100644 --- a/SMBLibrary/Authentication/GSSAPI/GSSProvider.cs +++ b/SMBLibrary/Authentication/GSSAPI/GSSProvider.cs @@ -54,7 +54,15 @@ namespace SMBLibrary.Authentication.GSSAPI public virtual NTStatus AcceptSecurityContext(ref GSSContext context, byte[] inputToken, out byte[] outputToken) { outputToken = null; - SimpleProtectedNegotiationToken spnegoToken = SimpleProtectedNegotiationToken.ReadToken(inputToken, 0); + SimpleProtectedNegotiationToken spnegoToken = null; + try + { + spnegoToken = SimpleProtectedNegotiationToken.ReadToken(inputToken, 0); + } + catch + { + } + if (spnegoToken != null) { if (spnegoToken is SimpleProtectedNegotiationTokenInit)