Віддалене виконання коду в Microsoft JET Database Engine
Учасник проекту Zero Day Initiative Lucas Leong (Trend Micro) розкрив подробиці про наявність критичної уразливості в Windows, що дозволяє віддалено виконати довільний код у контексті поточного процесу. Для успішної експлуатації проблеми потрібно участь користувача, який повинен відкрити шкідливий файл або перейти за посиланням.
Уразливість виявлена в СУБД Microsoft JET Database Engine і являє собою можливість запису за межами виділеного в пам’яті буфера (out-of-bounds OOB write) і проявляється при відкритті джерела даних JET (Joint Engine Technology) через інтерфейс OLE DB.
OLE (Object Linking and Embedding, Database, OLEDB) — набір COM-інтерфейсів, що дозволяють додаткам уніфіковано працювати з даними різних джерел і сховищ інформації.
Щоб викликати цю уразливість, користувачеві необхідно буде відкрити спеціально сформований файл, який містить дані, що зберігаються у форматі СУБД Microsoft JET Database Engine. Різні програми використовують цей формат бази даних. Експлуатація цієї уразливості може дозволити виконувати код на рівні поточного процесу.
На github опублікований PoC даної уразливості, якій піддається вся лінійка сучасних ОС від Microsoft: Windows 7, Windows 8.1, Windows 10, і Windows Server Edition 2008 до 2016.
Цікавим фактом є те, що деталі уразливості були надані компанії Microsoft ще 8 травня, 14 травня Microsoft підтвердили наявність бага. Відповідно до політики ZDI після 120-денного очікування (4 місяці), вони опублікували вразливість. В даний час компанія Microsoft готує виправлення, яке, імовірно, буде включено до складу планових жовтневих оновлень.
Зловмисники можуть вкрай успішно використовувати цю уразливість для фішингових атак, реалізації APT-векторів і атаках класу watering hole. Рекомендується застосовувати політики використання довірених файлів, поки не буде випущений патч.