Microsoft заподозрили в утере исходного кода одного из компонентов Office

Microsoft заподозрили в утере исходного кода одного из компонентов Office

Метод устранения уязвимости CVE-2017-11882 навел экспертов на мысль, что Microsoft могла потерять исходный код EQNEDT32.EXE.

На минувшей неделе компания Microsoft выпустила плановые обновления безопасности, устраняющие в общей сложности 53 уязвимости, включая критическую проблему CVE-2017-11882 в MS Office, затрагивавшую редактор формул Microsoft Equation (EQNEDT32.EXE). Метод, использованный производителем для исправления данной проблемы, навел ряд экспертов на мысль, что Microsoft могла потерять исходный код компонента.

Команда 0patch - платформы по распространению, установке и удалению бинарных патчей, заметила , что исправленный файл EQNEDT32.EXE оказался практически идентичным уязвимой версии.

«Вы когда-нибудь встречали C/C++ компилятор, располагающий все функции в исполняемом файле размером 500+ КБ по тем же адресам в модуле после перестройки модифицированного исходного кода, особенно, если в результате модификации изменилось число строк кода в нескольких функциях?», - говорят исследователи.

По мнению экспертов, сходство новой версии EQNEDT32.EXE с предыдущей может говорить о том, что инженеры Microsoft не исправили проблему в исходном коде, а вручную изменяли файл - практика, которую такая компания, как Microsoft, никогда бы не сочла приемлемой, если бы имела доступ к исходному коду давно забытого компонента Office.

Именно «возраст» EQNEDT32.EXE, за последние 17 лет не получившего ни одного обновления, заставил исследователей Embedi (обнаруживших уязвимость) обратить на него внимание.

«Компонент был скомпилирован 9 ноября 2000 года. Он использовался без изменений в последующих версиях Microsoft Office. По всей видимости, компонент был разработан Design Science Inc., впоследствии Microsoft выкупила права на него», - указали специалисты Embedi.

Изменение исполняемых файлов вручную влечет за собой больше проблем, нежели исправляет, а разработчики, прибегающие к подобной тактике, рискуют повредить весь файл, отмечают эксперты.

Помимо исправления CVE-2017-11882, Microsoft внесла еще несколько изменений, не связанных с данной уязвимостью. Судя по всему, инженеры компании заметили ряд других векторов атак, приводящих к переполнению буфера, и решили устранить их. Кроме того, производитель провел работу по оптимизации нескольких функций. Подобные усилия занимают много времени и ни один разработчик не стал прибегать к подобному методу, если бы имел доступ к исходному коду.

«Поддерживать программное решение в бинарной форме вместо перестройки его из исходного кода сложно. Мы можем только догадываться, почему Microsoft прибегла к такому подходу, но нам кажется, она проделала отличную работу», - считают эксперты 0patch.

Домашний Wi-Fi – ваша крепость или картонный домик?

Узнайте, как построить неприступную стену