SUSE Support

Here When You Need Us

Samba AD/PDC authentication stopped working after recent Windows updates

This document (000021140) is provided subject to the disclaimer at the end of this document.

Environment

SUSE Linux Enterprise Server 15 SP4 <= samba-4.15.13+git.636.53d93c5b9d6-150400.3.23.1

Situation

After recent Windows updates, authentication to Samba in AD/PDC mode stopped working.

Samba logs with debugging enabled reveal the following:
[2023/07/19 12:16:18.741049, 10, pid=22070, effective(0, 0), real(0, 0)] ../../librpc/rpc/server/netlogon/schannel_util.c:194(dcesrv_netr_check_schannel_once)
  CVE-2020-1472(ZeroLogon)/CVE-2022-38023: netr_LogonGetCapabilities request (opnum[21]) WITH SEALED schannel from client_account[FOOBAR$] client_computer_name[FOOBAR] NT_STATUS_OK
[2023/07/19 12:16:18.741062,  4, pid=22070, effective(65534, 65534), real(65534, 0)] ../../source3/smbd/sec_ctx.c:444(pop_sec_ctx)
  pop_sec_ctx (65534, 65534) - sec_ctx_stack_ndx = 1
[2023/07/19 12:16:18.741074,  4, pid=22070, effective(65534, 65534), real(65534, 0)] ../../source3/smbd/sec_ctx.c:444(pop_sec_ctx)
  pop_sec_ctx (65534, 65534) - sec_ctx_stack_ndx = 0
[2023/07/19 12:16:18.741082,  1, pid=22070, effective(65534, 65534), real(65534, 0), class=rpc_parse] ../../librpc/ndr/ndr.c:484(ndr_print_function_debug)
       netr_LogonGetCapabilities: struct netr_LogonGetCapabilities
          out: struct netr_LogonGetCapabilities
              return_authenticator     : *
                  return_authenticator: struct netr_Authenticator
                      cred: struct netr_Credential
                          data                     : cba8cc77246d671b
                      timestamp                : (time_t)0
              capabilities             : *
                  capabilities             : union netr_Capabilities(case 2)
                  UNKNOWN LEVEL 2
              result                   : NT_STATUS_NOT_SUPPORTED
[2023/07/19 12:16:18.741126,  1, pid=22070, effective(65534, 65534), real(65534, 0), class=rpc_parse] ../../librpc/ndr/ndr.c:666(_ndr_push_error)
  ndr_push_netr_Capabilities: ndr_push_error(Bad Switch): Bad switch value 2 at librpc/gen_ndr/ndr_netlogon.c:7604

See 'Bad switch value 2' in ndr_netlogon.c.

Resolution

Update of Samba packages is needed (samba > 4.15.13+git.636.53d93c5b9d6-150400.3.23.1).

Cause

The problem here is about the query level in https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-nrpc/5780fc6c-82f0-489f-b9a0-a9e855388492 which also uses the numbers 1 and the undocumented 2, which is causing the problems.

One scenario when such issue occurred is when Windows 10 KB5028166 update was applied and the Windows system was authenticating against Samba domain controller.

Additional Information

https://bugzilla.samba.org/show_bug.cgi?id=15418

Disclaimer

This Support Knowledgebase provides a valuable tool for SUSE customers and parties interested in our products and solutions to acquire information, ideas and learn from one another. Materials are provided for informational, personal or non-commercial use within your organization and are presented "AS IS" WITHOUT WARRANTY OF ANY KIND.

  • Document ID:000021140
  • Creation Date: 20-Jul-2023
  • Modified Date:20-Jul-2023
    • SUSE Linux Enterprise Server
    • SUSE Linux Enterprise Server for SAP Applications

< Back to Support Search

For questions or concerns with the SUSE Knowledgebase please contact: tidfeedback[at]suse.com

tick icon

SUSE Support Forums

Get your questions answered by experienced Sys Ops or interact with other SUSE community experts.

tick icon

Support Resources

Learn how to get the most from the technical support you receive with your SUSE Subscription, Premium Support, Academic Program, or Partner Program.

tick icon

Open an Incident

Open an incident with SUSE Technical Support, manage your subscriptions, download patches, or manage user access.