Хакер #305. Многошаговые SQL-инъекции
В Android 14 обнаружили ошибку, связанную с хранением данных, которая затрагивает пользователей функции multiple profiles. Из-за этой проблемы устройства становятся практически неработоспособны, так как оказываются отрезаны от собственного хранилища. Из-за разрушительности бага некоторые пострадавшие пользователи сравнивают эту проблему с атакой шифровальщика.
В первых сообщениях, появившихся около двух недель назад, предполагалось, что эта ошибка характерна только для устройств Pixel 6. Однако разработчики Google, похоже, проигнорировали эти жалобы пользователей, и теперь, после более широкого распространения выяснилось, что ошибка не зависит от конкретного девайса. Судя по всему, проблема затронула все устройства, уже обновившиеся до Android 14: Pixel 6, 6a, 7, 7a, Pixel Fold и Pixel Tablet.
Issue-трекер Google, посвященный этой проблеме, уже набрал более 500 сообщений, но ответа от представителей Google пока нет. Ошибка имеет лишь средний приоритет «P2» (наивысший приоритет — P0) и статус «unassigned». То есть, похоже, ее решением никто не занимается.
Некоторые пользователи с готовностью публикуют логи, полные сообщений типа «Failed to open directory /data/media/0: Structure needs cleaning». В итоге такая блокировка приводит к возникновению самых разных странностей. У одних пользователей зацикливается загрузка, другие застревают на сообщении «Pixel is starting...», тогда как третьи могут войти в устройство.
Если телефон пытается продолжить работу без локального хранилища, на экране то и дело появляются различные сообщения об ошибках. Приложение камеры сообщает, что закончилось место в памяти, и не может делать снимки, поскольку их некуда сохранять. В файловом менеджере для всех типов файлов и папок указано 0 байт, и файлы не просматриваются с компьютера через USB. Кроме того, постоянно происходят сбои системного интерфейса и настроек.
Система пользовательских профилей Android позволяет иметь как несколько пользователей на одном устройстве, так и разделять «домашний» и «рабочий» профили, чтобы отделить рабочие данные от личных, за счет дублирования приложений. Похоже, что проблема коснулась только тех пользователей, которые пользуются этой функцией: многие сообщают, что их основной профиль (который обычно является наиболее важным), оказался заблокирован.
Как отмечает издание ArsTechnica, самым странным в этой ситуации является тот факт, что Google могла предотвратить возникновение этой проблемы. Дело в том, что Google всегда распространяет свое ПО в соответствии с весьма медленной стратегией. Так, сначала обновление получает лишь небольшой процент пользователей, а с течением времени это обновления распространяется на все большее число людей. Google делает это именно для того, чтобы отслеживать возникновение возможных проблем, и если таковые обнаруживаются, распространение обновления может быть остановлено, чтобы баг не затронул большое количество пользователей.
Однако в данной ситуации распространение обновления остановлено не было. Хуже того, за прошедшие недели представители Google никак не отреагировали на массовые жалобы пользователей, не сделали никаких заявлений и, если верить баг-трекеру, этой ошибкой вообще никто не занимается.
UPD.
После того как внимание к проблеме привлекли СМИ, представители Google изменили приоритет ошибки до высшего «P0» и прокомментировали происходящее, заверив, что уже расследуют этот инцидент.
Представители компании сообщили, что ошибка, похоже, затрагивает устройства с несколькими пользователями Android, а не с несколькими учетными записями Google или рабочими профилями.
В компании заявили, что уже «выпустили обновление системы Google Play, которое поможет предотвратить возникновение этой проблемы на новых устройствах».
Однако это обновление помогает не всем. Хотя известно, что в целом проблему решает сброс к заводским настройкам, при этом удаляются все данные пострадавших, и некоторые люди, по понятным причинам, не хотят этого делать. Поэтому Google обещает выпустить отдельное исправление для людей, чьи устройства совсем заблокированы, ведь у некоторых пользователей зациклилась загрузка или они застряли на сообщении «Pixel is starting...».