Компания Digital Security, специализирующаяся на анализе защищенности систем, объявила об обнаружении опасной уязвимости в популярном фреймворке для мобильных устройств Xamarin для Android, который используется для написания кросс-платформенного кода на языке C#. Xamarin применяется для разработки кросс-платформенных приложений под Android, iOS и Windows Mobile. Фреймворк используют такие крупные компании, как Microsoft, GitHub, Bosch, Dow Jones, FourSquare и другие; на нем написаны разные группы приложений, включая программы для «интернета вещей» и банковские клиенты.
Обнаруженная уязвимость предоставляет возможность перезаписи динамических библиотек (.dll-файлов) приложений путем создания специальной скрытой директории на карте памяти устройства, доступ к которой можно получить из любого приложения: /storage/sdcard0/Android/data/идентификатор_приложения/files/.__override__/.
Любое вредоносное ПО, обладающее только стандартными правами на доступ к файлам SD‑карты, может поместить модифицированные библиотеки, которые изменяют логику работы программы, записывают действия пользователя или подменяют данные, в указанную директорию. Модифицированные библиотеки будут иметь приоритет над библиотеками внутри оригинального apk-файла.
Уязвимость была обнаружена исследователем ИБ Digital Security Владиславом Воронковым месяц назад, однако по соглашению с Xamarin эта информация не разглашалась до выхода обновления. Специалисты Xamarin выпустили новую версию 5.1, в которой возможность замены библиотек по умолчанию отключена для release-сборок. Для устранения уязвимости в приложениях разработчикам достаточно перекомпилировать приложения с использованием новой версии фреймворка.