Procházet zdrojové kódy

GSSProvider: Properly handle invalid SPNEGO Token

Tal Aloni před 7 roky
rodič
revize
97a48adf4a
1 změnil soubory, kde provedl 9 přidání a 1 odebrání
  1. 9 1
      SMBLibrary/Authentication/GSSAPI/GSSProvider.cs

+ 9 - 1
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)