New security updates for Exchange Server (March 2023)

Microsoft has released new security updates for Exchange Server 2013, 2016 and 2019. This is likely to be the last security update for Exchange 2013, as support for Exchange 2013 ends on 11.04.2023. The March update for Exchange also fixes the problem with the crashing EWS Web Application Pool in IIS. Applications that use EWS should therefore work again without errors. The recommended workaround must be reversed manually. In addition, the Exchange Tool Box and the queue display are now working again. Finally, Retention Policies in conjunction with Windows Extended Protection are working again, so there is no longer any reason not to activate Extended.

Click here to go directly to the downloads:

  • Exchange Server 2013 CU23
  • Exchange Server 2016 CU23
  • Exchange Server 2019 CU11 and CU12

The updates fix 3 vulnerabilities classified as "Important" which fall into the category "Remote Code Execution". As this update also fixes problems with the previous security update in addition to the vulnerabilities, this update should be installed promptly. Further details on the vulnerabilities can be found here:

In addition to the updates for Exchange Server, there is also a security update for Outlook. This concerns the vulnerability "Microsoft Outlook Elevation of Privilege Vulnerability (CVE-2023-2337)". As the vulnerability has apparently already been exploited, Microsoft has also published a script that checks whether there are malicious elements in the mailboxes. The script requires the EWS interface and can be downloaded here:

Important: The script requires impersonation rights and a corresponding throttling policy. The link above explains how to configure these rights. The script should also be executed in environments that use Exchange Online, where malicious elements can also be located in the mailboxes.

Here is the article from the Exchange Team Blog:

New security updates for Exchange Server (March 2023)

The links on the Exchange Versions Page are already updated.

54 thoughts on “Neue Sicherheitsupdates für Exchange Server (März 2023)”

  1. 2x Exchange 2019 DAG installiert, Workaround aus Februar wieder rückgängig gemacht.
    Stand heute Abend geht unser Melde Button im Outlook von Sosafe wieder nicht…dieser braucht ews, letztes Mal war es ein zeitthema nachdem Workaround und ich schätze das hier mal genauso

    Reply
  2. Hier noch ein Powershell-Skript um die Throttling Policy auf Default zurückzusetzen und die CVE Policy zu löschen:

    $policy = Get-ThrottlingPolicy CVE-2023-23397-Script
    $mailboxes = Get-Mailbox | where-object {$_.ThrottlingPolicy -eq $policy.Identity}
    $defaultPolicy = Get-ThrottlingPolicy | where-object {$_.IsDefault -eq $true}
    foreach ($mailbox in $mailboxes) {Set-Mailbox -Identity $mailbox.Identity -ThrottlingPolicy $defaultPolicy}
    Remove-ThrottlingPolicy CVE-2023-23397-Script

    Reply
  3. Zum Thema 401 im Script:
    ExtendedProtection setzt im IIS im EWS in der Windows-Authentifizierung (Erweiterte Einstellungen) den Erweiterten Schutz auf aktiviert.
    Ich hatte zum ausführen des Scriptes den Eintrag auf Deaktiviert gesetzt, dann tut das Script auch was es soll.

    Reply
    • Das ist der essentielle Punkt, den ich ausser von Dir bisher nicht gesehen habe.
      Dass das CVE Skript scheinbar nicht mit der ExtendedProtection umgehen kann.
      Hatte schon die Befürchtung, daß es an mir liegt (was ich kategorisch ausschliesse ;-) )

      Reply
  4. Das Script will bei mir einfach nicht. Direkt lokal vom EX aus getestet.
    Imperso Rolegroupe gem. Anleitung erstellt und 1-2 Testuser da rein gepackt. Kriege immer wieder die Meldung

    The request failed. Der Remoteserver hat einen Fehler zurückgegeben: (401) Nicht autorisiert.

    Aufruf via:
    Get-Mailbox | .\CVE-2023-23397.ps1 -Environment Onprem -EWSServerURL https://DOMAIN.COM/EWS/Exchange.asmx -IgnoreCertificateMismatch

    Benutzer: impersouser@mail.com (auch impersouser@mail.local getestet), keine Chance..

    Ideen?

    Reply
    • Bei mir klappt es wie folgt:
      Get-Mailbox | .\CVE-2023-23397.ps1 -Environment Onprem -StartTimeFilter „01.01.2023 00:00:00“ -EndTimeFilter „01.01.2024 00:00:00“ -DLLPath .\lib\40\Microsoft.Exchange.WebServices.dll -EWSServerURL https://*domain*/EWS/Exchange.asmx -IgnoreCertificateMismatch -Credential „user@upn“

      Die Microsoft.Exchange.WebServices.dll kannst du dir wie folgt besorgen:

      Steps to Download Microsoft.Exchange.WebServices.dll:

      Download the nuget package from NuGet Gallery | Microsoft.Exchange.WebServices.2.2.0
      (https://api.nuget.org/v3-flatcontainer/microsoft.exchange.webservices/2.2.0/microsoft.exchange.webservices.2.2.0.nupkg)
      Change the extension of the file from .nupkg to .zip
      Unzip the package.
      Use the dll present at “\lib\40” location in the package
      Provide the path to the DLL for the DLLPath parameter when running the script.

      Wichtig: Der von MS zur Verfügung gestellte Link zur „WebServices.dll“ war anfangs falsch und wurde mittlerweile korrigiert. Zur Not die Datei also nochmal neu herunterladen.

      Reply
    • Bei mir hat es seltsamerweise beim Credential-Parameter ohne UPN, spricht rein mit dem samaccountnamen ohne den Domainhelper geklappt.

      Ich suche aber eine Möglichkeit das Script für mehrere, nicht via Suchfilder zusammengewürfelte Mailboxen laufen zu lassen. Via
      foreach ($mbx in (Get-Content „\liste_mailboxen.txt“)){get-mailbox $mbx | Get-Mailbox -identity $mbx | .\CVE-2023-23397.ps1 -Environment Onprem -StartTimeFilter „01/01/2023 00:00:00“ -EndTimeFilter „01/01/2024 00:00:00“ -EWSSERVERURL „https:///EWS/Exchange.asmx“ -DLLPath „\microsoft.exchange.webservices.2.2.0\lib\40\Microsoft.Exchange.WebServices.dll“}
      kommt halt zig mal ne Credentialbox…

      Reply
    • Hi,

      bei mir hat es was gebracht die IP des Exchange in der EWS URL zu benutzen.
      Get-Mailbox | .\CVE-2023-23397.ps1 -Environment Onprem -StartTimeFilter „01.01.2023 00:00:00“ -EndTimeFilter „01.01.2024 00:00:00“ -EWSServerURL https://„IP_EXCHANGE“/EWS/Exchange.asmx -IgnoreCertificateMismatch -Credential „user@domain.tld“

      Reply
  5. Hallo,

    ich sehe nach der Installation des Updates aus März auf unterschiedlichen Sites auf unterschiedlichen Server (Exchange 2016/2019) div. verdächtige Aktivitäten, hat jemand dies auch schon beobachtet?

    C:\Windows\Temp\ndif2tbc\ndif2tbc.dll
    C:\Windows\Temp\nhtfkv53\nhtfkv53.dll
    C:\Windows\Temp\tkgzersz\tkgzersz.dll

    Aller werden erstellt durch: SYSTEM@NT-AUTORITÄT@

    Reply
  6. Hallo,

    ich stelle mich wahrscheinlich zu dumm an, aber wo kann ich einen User zu der Gruppe „ApplicationImpersonation Gruppe“ hinzufügen? Mit der Anleitung von MS komme ich nicht klar.

    Danke für die Unterstützung schon mal im Vorfeld.

    Reply
  7. PowerShell Serialization Payload Signing könnte man nun bedenkenlos aktivieren? Sind die bekannten Probleme behoben?

    ansonsten CU Update installiert über Windows Update, funktioniert alles!

    Reply
    • So stehts zumindest im Abschnitt „Issues resolved in this release“.
      Aber du stehst ja eh auf Risiko, sonst würdest du ja nicht das Windows Update für Exchange verwenden. ;)

      Reply
  8. Wenn ich das hier so lese, bin ich irgendwie schon froh zu Microsoft 365 migriert zu haben. Ich genieße die Freizeit…

    Reply
  9. Für alle die das Skript auf dem Exchange selber ausführen wollen und sich Zeit sparen wollen:

    Get-Mailbox | .\CVE-2023-23397.ps1 -Environment Onprem -EWSServerURL „https://127.0.0.1/EWS/Exchange.asmx“ -IgnoreCertificateMismatch

    Dann die Login Daten des Nutzers im UPN Format eingeben, welchen ihr in die ApplicationImpersonation Gruppe gezogen habt: username@domain.local , Passwort

    Anschließend sollte das Skript durchlaufen. Bei unserer kleinen Umgebung war das in 2 Minuten durch.

    Gruß

    Reply
  10. Laut Script gibt es eine Liste mit aufälligen Elementen.
    Diese kann dann zur „Behandlung“ editiert und als Parameter mit dem Script aufgerufen werden.
    Was macht das Script aber genau mit den Outlook Elementen?
    Werden diese gelöscht?

    Reply
  11. Läuft das Test-Script bei euch?

    Es heißt ja:

    Prerequisites to run the script for Exchange Online
    To run this script in an Exchange Online environment, you need to be a member of Organization Management. The script will create an application with full access permission on all the mailboxes. To scan cloud mailboxes, you also need to add the Azure-AD module to PowerShell. See Install AzureAD PowerShell for Graph for more information.

    Note: The script uses Microsoft.Exchange.WebServices.dll to make EWS calls. The script will try to download the DLL and use it. However, if it is unable to, you will need to download the DLL and specify the path.

    Steps to Download Microsoft.Exchange.WebServices.dll:
    Download the nuget package from NuGet Gallery | Exchange.WebServices.Managed.Api 2.2.1.2
    Change the extension of the file from .nupkg to .zip
    Unzip the package.
    Use the dll present at “\lib\net35” location in the package
    Provide the path to the DLL for the DLLPath parameter when running the script.

    Fehler:
    The specified module ‚C:\EWS\lib\net35‘ was not loaded because no valid module file was found in any module directory.

    Egal, ob er die Module selber runterlädt oder ich es wie beschrieben mit dem Download und \lib\net35 mache…
    Es geht einfach nicht.

    Reply
  12. Hat jemand schon das Script zum Scannen der Mailboxen ausgeführt – könnte bestimmt sehr lange dauern, bis dieses fertig wird….

    Reply
    • Würde mich auch interessieren. Vor allem welche zusätzlichen Maßnahmen von Euch ergriffen wurden (Stichwort -> Check Port 445/FW)

      Reply
      • Na Port 445 wird ja wohl vermutlich bei den meisten _nicht_ ins Internet geöffnet sein. Und der Rest wird vermutlich nicht mal eben NTLM Auth abschalten können/wollen/dürfen. ;)

        Reply
        • wie verhält es sich denn mit den Notebooks Clients, die nicht per VPN sondern normal über Internet, per Outlook auf einen OnPrem Exchange zugreifen? Die sind ja ggf. nicht über einen Firmenfirewall geschützt und somit wird der Port 445 dort nicht geblockt.

          Das Script lief bei uns recht schnell durch (270 Mailboxen). Habe es aber auf dieses Jahr begrenzt. So wie ich das sehe werden aber die Public Folder Mailboxen nicht gescannt.

    • Hab das Skript heut probiert. Als Richtwert bei uns waren es beim Test ca 1 Sekunde pro GB Daten in der Mailbox.
      (Ohne die empfohlene Throttling Policy und ohne Einschränkung des Zeitraums)

      Reply
  13. 1. DAG-Node Exchange 2016 CU23 Server 2016 ohne Probleme
    – Neue ProductVersion = 15.01.2507.023
    – Dauer des Reboots normal.
    – Die gefühlte Performance des Systems ist nach dem Update besser (das hatte ich auch noch nie)

    Reply
    • Die bessere Performance kann ich in der Tat bestätigen! Dachte zuerst auch das hätte nur gefühlte Gründe oder liegt vielleicht am Neustart, aber da du es ebenfalls erwähnst, ist da vielleicht was dran!

      Reply
    • Beim mir kommt beim Script:
      Unable to process mailbox xyz@xyz.xyz, Either you don’t have proper impersonation rights or the mailbox is inaccessible. Inner Exception:

      Cannot convert argument „0“, with value: „SmtpAddress“, for „ImpersonatedUserId“ to type „Microsoft.Exchange.WebServices.Data.ConnectingIdType“: „Cannot convert value „SmtpAddress“ to type „Microsoft.Exchange.WebServices.Data.ConnectingIdType“. Error: „Invalid cast from ‚Microsoft.Exchange.WebServices.Data.ConnectingIdType‘ to ‚Microsoft.Exchange.WebServices.Data.ConnectingIdType‘.““

      obwohl ich eigentlich die Rechte habe und das sogar mit mehreren Benutzern getestet habe welche aktiv Impersonation Rights benutzen.. :S

      Reply
  14. Bezüglich dem Outlook Patch: Wenn Outlook aus M365 benutzt wird, muss man dann händisch den Patch installieren? Weil normalerweise updaten sich die M365 Office Programme ja komplett automatisch.

    Reply
  15. Vielleicht eine erste Rückmeldung:

    Exchange Server 2016 CU23 auf 2016 ohne Probleme nur der Neustart dauert ewig….. :-(

    Schöne Woche !

    Reply

Leave a Comment