Patching all my servers went mostly trouble-free last night, but I did see something that I have never seen before on one server running Exchange 2013 CU23. The update initially failed for a reason I couldn't discern, and then rolled back. But then subsequent attempts would give me an "update prematurely ended" error when it was attempting (and failing) to stop services. Same error if I tried uninstalling the current CU23 security patch from 2020. Only errors I found were an error 1603 from msiexec (this was not a simple elevation issue in this case, which is what every Google result on Earth seemed to suggest), and another error logs from msiexec suggesting the Exchange config was invalid. Exchange Powershell, which was previously working, was also failing to connect locally on the server.
Don't ask me how I finally found it, but it turns out the initial failure seems to have deleted & did not replace 9 DLLs from [ExchangeInstallPath]\V15\bin:
Microsoft.Dkm.Proxy.dll
Microsoft.Exchange.Clients.Common.dll
Microsoft.Exchange.Connections.Common.dll
Microsoft.Exchange.Connections.Eas.dll
Microsoft.Exchange.Connections.Imap.dll
Microsoft.Exchange.Connections.Pop.dll
Microsoft.Exchange.Data.ImageAnalysis.dll
Microsoft.Exchange.Data.Mapi.dll
Microsoft.Exchange.Data.ThrottlingService.Client.dll
I copied them over from a known working pre-update Exchange 2013 CU23 server, and then the security update applied without a hitch, and all Exchange services appeared fine afterward.