Нередко приложения могут быть уязвимы не из-за того, что кто-то допустил ошибку в коде или что-то не учёл при разработке, а совсем по другим причинам. Одной из них могут быть уязвимые open-source библиотеки, которые мы используем при разработке. Даже если на момент подключения новой библиотеки она была безопасна, нет никакой гарантии, что завтра в ней не обнаружат какой-то адский баг.
Поддерживать версии используемых бибилиотек в актуальном состоянии — это очень важная задача. В процессе безопасной разработки даже есть отдельная практика для этого — SCA (Software Composition Analisys). И конечно, есть достаточное количество инструментов, которые позволяют это сделать, от бесплатных до энтерпрайз решений.
Это все к тому, что вчера вышел отчет о найденной уязвимости в библиотеке Google Play Core Library, которая довольно часто используется при разработке. Суть уязвимости заключается в возможности выполнения произвольного кода в контексте приложения, которое использует данную библиотеку.?
В качестве PoC было выбрано приложение Google Chrome, которое в результате эксплуатирования уязвимости выполняло команду «chmod -R 777 /data/user/0/com.android.chrome», то есть, давало право чтения и записи любому приложению в директорию хрома. С помощью данной уязвимости можно производить любые операции с файлами на устройстве, копировать, отсылать на свой сервер, изменять и в целом все, что угодно)
Согласно присвоенной CVE уязвимы все версии Android’s Play Core Library до версии 1.7.2. Так что настоятельно рекомендую обновиться как минимум до этой версии, если вы этого еще не сделали. Согласно Release Notes версия, исправляющая данную уязвимость вышла в марте, а текущая актуальная — 1.8.1