A Microsoft lançou uma correção para um bug selvagem do Exchange Server que interrompeu a entrega de correio local em todo o mundo, enquanto o relógio estava correndo no ano novo.
A indisponibilidade massiva foi devido a uma falha na verificação de data no Exchange Server 2016 e 2019 que tornou impossível para os servidores se adaptarem ao ano de 2022, levando alguns a chamá-lo de bug Y2K22. Os programas de correio armazenavam datas e horas como inteiros assinados, que atinge o pico em 2147483647, ou 231 – 1. A Microsoft usa os dois primeiros números de uma versão atualizada para indicar o ano em que foi lançado. Contanto que fosse o ano de 2021 ou antes, tudo funcionou bem.
“O que diabos é a Microsoft?”
No entanto, quando a Microsoft lançou a versão 2201010001 na véspera de ano novo, os servidores locais travaram porque não conseguiram interpretar a data. Como resultado, as mensagens ficam presas nas filas de transporte. Os gerentes em todo o mundo ficaram tentando desesperadamente consertar os problemas, em vez de ligar para o Ano Novo com amigos e familiares. Tudo o que eles tinham para continuar eram duas mensagens de log enigmáticas parecidas com estas:
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.
Log Name: Application Source: FIPFS Logged: 1/1/2022 11:47:16 AM Event ID: 1106 Level: Error Computer: server1.contoso.com Description: The FIP-FS Scan Process failed initialization. Error: 0x80004005. Error Details: Unspecified error.
“Que diabos, Microsoft !?” um administrador escreveu em este tópico do Reddit, que foi um dos primeiros fóruns a relatar a falha massiva. “Na véspera de Ano Novo!? O primeiro lugar que eu verifico é no Reddit e vocês salvam minha vida antes mesmo de termos um engenheiro ao telefone.”
No dia seguinte, a Microsoft lançou uma solução. Ele vem em duas formas: uma Script PowerShell, ou uma correção manual caso o script não funcione corretamente, relataram alguns administradores. Em ambos os casos, as correções devem ser feitas em todos os servidores locais Exchange 2016 e Exchange 2019 dentro de uma organização afetada. O script automatizado pode ser executado em vários servidores em paralelo. O fabricante do software disse que o script automatizado “pode levar algum tempo para ser executado” e pediu aos administradores que sejam pacientes.
A verificação de data e hora foi realizada quando o Exchange verificou a versão do FIP-FS, um mecanismo de verificação que faz parte das proteções antimalware do Exchange. Uma vez que as versões do FIP-FS começaram com os números 22, a verificação não pôde ser concluída e a entrega da correspondência foi interrompida abruptamente. A solução interrompe a filtragem da Microsoft e os serviços de gerenciamento de transporte do Microsoft Exchange, remove os arquivos atuais do mecanismo AV e instala e inicia um mecanismo AV corrigido.
Na segunda-feira, as coisas voltaram ao normal para muitas organizações afetadas. Não está claro há quanto tempo o armazenamento de data com defeito está em vigor, mas a julgar pelas duas versões afetadas, ele foi possivelmente introduzido quando o Exchange Server 2016 estava em desenvolvimento.