Вы используете устаревший браузер!
Страница может отображаться некорректно.
Свяжитесь с нами Незакрытые запросы:
EvilParcel — группа схожих по принципу действия уязвимостей, обнаруженных в некоторых системных классах ОС Android. В таких классах содержится ошибка, из-за которой при обмене данными между приложениями и операционной системой возможно изменение этих данных. Если злоумышленник особым образом сформирует массив передаваемых данных, их значение после чтения будет отличаться от первоначального.
Вредоносные программы, использующие эти уязвимости, способны обходить проверки операционной системы, получать более высокие полномочия и выполнять действия, которые ранее были им недоступны. Например, они могут возвращать устройства к заводским настройкам и самостоятельно устанавливать и удалять приложения без разрешения пользователей. Кроме того, если троянцы эксплуатируют уязвимости EvilParcel совместно с другими уязвимостями, они могут подменять уже установленные программы их инфицированными версиями.
Известные уязвимости этого типа:
CVE-2017-0806 (ошибка в классе GateKeeperResponse), опубликована в октябре 2017 г.;
CVE-2017-13286 (ошибка в классе OutputConfiguration, опубликована в апреле 2018 г.;
CVE-2017-13287 (ошибка в классе VerifyCredentialResponse), опубликована в апреле 2018 г.;
CVE-2017-13288 (ошибка в классе PeriodicAdvertizingReport), опубликована в апреле 2018 г.;
CVE-2017-13289 (ошибка в классе ParcelableRttResults), опубликована в апреле 2018 г.;
CVE-2017-13311 (ошибка в классе SparseMappingTable), опубликована в мае 2018 г.;
CVE-2017-13315 (ошибка в классе DcParamObject), опубликована в мае 2018 г.
Эти уязвимости угрожают устройствам под управлением ОС Android версий 5.0 — 8.1, на которых не установлены обновления от мая 2018 года и более поздние.
Если антивирус Dr.Web для Android обнаружил одну или несколько уязвимостей класса EvilParcel, рекомендуется обратиться к производителю оборудования для получения соответствующих обновлений операционной системы.
В Android взаимодействие приложений с системой происходит через отправку и получение объектов типа Intent. Intent может содержать произвольное количество пар «ключ-значение» внутри объекта типа Bundle. При передаче Intent объект Bundle преобразуется (сериализуется) в байтовый массив, а при чтении ключей и значений из сериализованного Bundle он автоматически десериализуется. В Bundle ключом выступает строка, а значение может быть практически любым, в том числе объектом типа Parcelable. Таким образом, в Bundle можно поместить объект произвольного типа, реализующий интерфейс Parcelable, – необходимо реализовать методы writeToParcel() и createFromParcel() для сериализации и десериализации объекта.
Уязвимости EvilParcel вызваны ошибками в методах createFromParcel() и writeToParcel() в некоторых системных классах, реализующих Parcelable. В этих классах количество прочитанных байтов в методе createFromParcel() будет отличаться от количества записанных байтов в методе writeToParcel(). Если поместить объект такого класса внутрь Bundle, границы объекта внутри Bundle после повторной сериализации изменятся.
Этот недочет и используют вредоносные программы. Для запуска активностей с повышенными привилегиями они формируют специальный Bundle, содержащий уязвимый класс. Изменение границ уязвимого класса позволяет разместить в таком Bundle объект Intent, который появится в Bundle только после второй десериализации. Это дает возможность скрыть Intent от механизмов защиты ОС. После вызова подобный Intent запустит активность с повышенными полномочиями, и троянцы смогут выполнять вредоносные действия без разрешения пользователя.
Читайте также описания других уязвимостей