Уязвимость в Android приложениях
Тут на днях появилась новость от CheckPoint`а, из которой следует, что ряд широко используемых приложений для Android до самого недавнего времени содержал, а некоторые и до сих пор содержат серьёзную угрозу для пользователей.
Штука в том, что ещё в марте 2020 года компания Google устранила серьёзную уязвимость в одной из своих библиотек Play Core. Эта библиотека используется, в частности, для загрузки обновлений приложений из Google Play.
Для понимания принципа работы уязвимости CVE-2020-8913, которая получила 8,8 балла из 10 по шкале суровости, нужно кратко пояснить за то, как Android фильтрует приложения. Дело в том, что для программок, загружаемых с Google Play, существует специальная папка “verified”, куда, как видно из названия, ложатся доверенные файлы, которые система считает легитимными и проверенными на наличие вредоносов. Такие приложения могут смело обращаться в Google Play и подгружать обновления. Для файлов из сторонних репозиториев используется папка “non-verified” – своеобразное чистилище, где приложения остаются ждать проверки.
Уязвимость кроется в том, что прямое указание директории (например, ../verified_splits/my_evil_payload.apk) при загрузке, скажем, обновления для уже установленного приложения, позволит обойти папку для недоверенных файлов и запихнуть зловред прямо внутрь ранее проверенной программы.
В Google смогли устранить уязвимость. Но исправить приложения сторонних вендоров компания самостоятельно не могла и обратилась с этой просьбой к разработчикам, среди которых были: Facebook, Instagram, WhatsApp, SnapChat, Booking и Edge.
Многие компании отозвались сразу и выпустили обновления. Но, вот уже прошло больше половины года, а судя по отчёту CheckPoint, браузер от Microsoft под Android до сих пор содержит данную уязвимость.
К слову, в докладе приводится любопытный список приложений с пометками, кто и когда выпустил обновления. Оттуда видно, например, что Booking и Viber подошли к вопросу ответственнее всех.