Неделю назад компания Microsoft выпустила патч (MS14-063), закрывающий опасную уязвимость в драйвере FastFat для управления разделами диска FAT32 в Windows Server 2003, Windows Vista и Windows Server 2008. Но самое интересное, что в Windows 7 этот баг устранён пять лет назад, в 2009 году! По какой причине Microsoft оставила уязвимость в старых системах — никто не может ответить, в том числе сама Microsoft предпочитает сохранять молчание.
Странное поведение Microsoft обнаружили специалисты из компании BeyondTrust. Когда появился вышеупомянутый патч для Windows Server 2003, Windows Vista и Windows Server 2008, они сразу задались вопросом: а где же Windows 7? Ведь драйвер FastFat не должен особо изменяться от одной ОС к другой.
Они провели бинарное сравнение Windows Server 2003r2 и fastfat.sys версии 5.2.3790.3959 (непропатченная) против fastfat.sys версии 5.2.3790.5425 (пропатченная), и им удалось-таки найти исправленный участок кода в функции FatCommonWrite().
Оставался вопрос: почему же Windows 7 оставили уязвимой? И вот здесь исследователей ожидал сюрприз. Оказалось, что в Windows 7 баг отсутствует, а соответствующий патч вышел в районе 2009 года, причём без официального объявления об этом!
Это уже не первый раз, когда Microsoft исправляет баги в секретном режиме. Бывали случаи, когда выходил патч якобы для одной уязвимости, а на самом деле устранял 7 штук (MS04-007).
Специалисты подчёркивают высокую опасность бага в fastfat.sys (CVE 2014-4115). Он допускает несанкционированное повышение привилегий, позволяет выполнять произвольный код с максимальными правами и устанавливать вредоносное обеспечение с USB-флэшек, которые обычно отформатированы в FAT32.
Другими словами, много лет в Windows 2003, 2008, Vista и XP существовала уязвимость, о которой было известно. В более новых версиях ОС её исправили в 2009 году, возможно, в результате случайного стечения обстоятельств.