martes, 4 de enero de 2022

El 2022 empezó sin correos electrónicos: un fallo de Microsoft afecta a los servidores


  • Un fallo de Exchange ha bloqueado el envío de nuevos correos
  • Se produjo justo al cambiar de año



Microsoft ha confirmado la existencia de un 'bug' en Microsoft Exchange que provoca que los servidores de correo electrónico lleven fallando desde que se dieron las campanadas.

Justo cuando el reloj marcó las 00:00 del 1 de enero de 2022, a administradores de sistema de todo el mundo se atragantaron con las uvas al comprobar que sus servidores habían dejado de funcionar de repente. Una crisis que aún no se ha solucionado del todo, pero que al menos ya tiene una solución de emergencia.

Los afectados son servidores que usan Microsoft Exchange, muy popular en empresas para el envío masivo de correos electrónicos. La investigación inicial reveló que el error se encuentra en el antivirus FIP-FS integrado en Exchange, que comprueba el contenido de los correos para evitar la propagación de malware en las redes internas. Que el error se produjese justo al cambiar de año no es casualidad, ya que tiene que ver con la manera en la que Exchange gestiona el tiempo.

Cada vez que Exchange usa FIP-FS para analizar un correo, almacena la fecha y la hora en una variable para firmarlo como correo seguro. El problema es la manera en la que se almacena ese dato, en una variable de tipo 'long'. En programación, existen varios tipos de variables para almacenar diferentes tipos de información; cada una ocupa una cantidad diferente de memoria, así que es importante usar la adecuada. En el caso de 'long', es capaz de almacenar números enteros de 32 bits; es decir, un rango que va entre -2.147.483.647 y 2.147.483.647; para muchos casos, eso es más que suficiente, pero en su día, los desarrolladores de Microsoft no tuvieron en cuenta en su día que la fecha (contada por la cantidad de segundos que han pasado) puede ser más larga que ese número.

Eso es justo lo que ocurrió: a medianoche del 1 de enero, la fecha tenía el valor 2.201.010.001, y por lo tanto, era más grande de lo que la variable podía almacenar. Eso se tradujo en un error, ya que el sistema era incapaz de firmar el correo como seguro, así que no lo enviaba al quedarse 'pillado' en esa tarea.

Microsoft ha aclarado que este no es un problema en el escáner de malware, o en el antivirus, ni es un problema de seguridad; el escaneo se sigue haciendo como siempre, el problema es que los correos no se marcan como seguros aunque lo sean, quedándose en la cola eternamente. Afortunadamente, la compañía no ha tardado mucho en publicar la solución a este fallo; en el blog oficial, ha publicado instrucciones para que los administradores de sistema puedan realizar los cambios necesarios, además de una solución automatizada, hasta que llegue una actualización.