前几天跨年的时候,相信不少人都在卡点送祝福。零点一过,大批的祝福通过各种服务器送出,因此服务器的稳定运行是非常必要的。然而就在这个关键时刻,微软Exchange服务器却出了岔子。不少Exchange服务器的用户发现自己的祝福邮件没发出去,被留在了2021年。
Windows事件日志显示的错误提醒
Exchange Server是微软公司推出的一套电子邮件服务组件,可以被用来构架应用于企业、学校等团体机构的邮件系统。也可以用于开发工作流、知识管理系统、Web系统或者是其他消息系统。
话说程序员不是在写Bug就是在改Bug,就连新年也躲不过!Exchange管理员被迫紧急加班。
他们调查发现,造成邮件无法发送的原因是Microsoft Exchange采用的邮件过滤管理系统(FIP-FS),采用了一种名叫“yymmddHHMM”的有符号变量(Int32)来存储日期。但是,因为该变量最多只能存储-2,147,483,647到+2,147,483,647的数据,而2022年1月1日午夜的新日期值为2,201,010,001,超过了这个范围。所以,当Microsoft Exchange尝试检查AV扫描版本时,它生成了一个错误并导致恶意软件引擎崩溃,信息就被卡在了传输队列中。
巧的是,这次微软日期bug事件与2000年的“千年虫(Y2K)”问题如出一辙