Microsoft Exchange Server: o bug que bloqueou milhares de emails

Ano novo, bichos novos! Dessa vez foi a vez do Microsoft Exchange Server: o bug bloqueou a entrega de milhares de emails, que ficaram presos na fila . O problema, conforme ilustrado pela Microsoft , está relacionado à falta de controles da mudança de data do ano novo. Um inesperado " bug do milênio " que ocorreu bem na meia-noite de 1º de janeiro de 2022.

O erro do Microsoft Exchange Server

O início do novo ano começou com um estrondo para milhares de usuários do Microsoft Exchange Server, que se viram incapazes de receber e-mails e mensagens devido a um bug. Os administradores do Exchange notaram que os servidores não conseguiam mais entregar emails ; procurando a causa do problema encontraram uma mensagem nos logs com um erro bem específico:

 Log Name: Application Source: FIPFS Logged: 1/1/2022 1:03:42 AM Event ID: 5300 Level: Error Computer: server1.contoso.com Description: The FIP-FS "Microsoft" Scan Engine failed to load. PID: 23092, Error Code: 0x80004005. Error Description: Can't convert "2201010001" to long.

Sobre o que é isso? O mecanismo de verificação FIP-FS , ou o antivírus que verifica e-mails, não armazena a data em um Int32 antes de converter para arquivos . Esse tipo de dado pode armazenar valores de -2.147.483.647 a + 2.147.483.647, mas novas datas, com mais um ano, ultrapassam esse limite. No caso de 1º de janeiro às 00h00 o valor a ser armazenado teria sido +2.201.010.001, maior que o valor máximo do inteiro de 32 bits.

O mecanismo de varredura travou , enviando todo o processo de entrega de e- mails e mensagens em uma pirueta , deixando-os presos na fila. O e-mail da Microsoft congelou, as filas foram preenchidas e os usuários não puderam mais enviar ou receber e-mail.

Milhares de e-mails do Microsoft Exchange ficaram presos nas filas do servidor devido a um bug de data.
Milhares de e-mails do Microsoft Exchange ficaram presos nas filas do servidor devido a um bug de data.

Como corrigir o erro?

A Microsoft notou imediatamente o erro nos Exchange Servers e já estava trabalhando para resolver o bug. A correção, no entanto, não chegará no curto prazo, e os e-mails certamente não podem permanecer bloqueados, principalmente agora que as empresas estão começando a funcionar novamente. A equipe do Exchange publicou duas soluções possíveis , mas ambas requerem a intervenção dos administradores do servidor para serem colocadas em prática. Os administradores podem optar por seguir um procedimento automatizado ou manual.

Solução automatizada

Se você quiser recorrer a uma solução pronta, basta executar um script e seguir alguns passos simples para evitar temporariamente o bug, aguardando o patch oficial. A primeira coisa a fazer é modificar as políticas de execução configurando-as para “RemoteSigned” , permitindo assim a execução de scripts com assinatura digital confiável. Neste ponto, você pode baixar o script fornecido pela Microsoft e executá-lo em cada servidor Exchange da empresa.

Solução manual

Se você preferir seguir uma solução manual, a Microsoft ilustrou as etapas necessárias para resolver o problema (sempre temporariamente):

  1. interrompa o serviço "Microsoft Filtering Management" e "Microsoft Exchange Transport". Uma vez que o primeiro tenha sido interrompido, o próprio sistema proporá um popup para bloquear o segundo;
  2. verifique se o serviço updateservice.exe não está em execução;
  3. exclua a pasta % ProgramFiles% Microsoft Exchange Server V15 FIP-FS Data Engines amd64 Microsoft ;
  4. remover todos os arquivos contidos em % ProgramFiles% Microsoft Exchange Server V15 FIP-FS Data Engines metadados ;
  5. reinicie os dois serviços parados anteriormente;
  6. abra o "Exchange Management Shell", navegue até a pasta de scripts ( % ProgramFiles%MicrosoftExchange ServerV15Scripts ) e execute o comando Update-MalwareFilteringServer.ps1 <server FQDN> ;
  7. sempre no shell do Exchange execute o comando Add-PSSnapin Microsoft.Forefront.Filtering.Management.Powershell ;
  8. execute Get-EngineUpdateInformation e verifique se a propriedade “UpdateVersion” é 2112330001.

Esse valor representa uma data inexistente, mas a Microsoft garante aos administradores que ela está correta e com suporte do mecanismo. Depois de executar o script (ou depois de seguir as etapas manuais), o servidor retomará a entrega de e- mails e mensagens corretamente, embora possa levar algum tempo antes de retornar à capacidade total.

O procedimento só é necessário para servidores que tenham acesso à internet e baixem atualizações para o malware. Caso contrário, o problema não deve surgir.

O artigo do Microsoft Exchange Server: O bug que bloqueou milhares de emails vem do Tech CuE | Engenharia de close-up .