В 2018 году, с релизом Android 9.0 Pie смартфоны Pixel получили встроенный редактор скриншотов Markup. Четыре года спустя исследователи обнаружили в этом инструменте уязвимость aCropalypse (CVE-2023-21036), которая позволяет отменить изменения, сделанныена скриншотах и других изображениях с помощью Markup, выявив оригинальное содержимое, которое было обрезано или замаскировано.
Проблема aCropalypse была обнаружена ИБ-экспертами Саймоном Ааронсом (Simon Aarons) и Дэвидом Бьюкененом (David Buchanan). В Twitter Ааронс рассказал, что уязвимость позволяет восстановить любые отредактированные с помощью Markup изображения и скриншоты.
В качестве примера он показал, как использовал уязвимость для восстановления загруженной в Discord фотографии банковской карты, номер которой был отредактирован с помощью Markup и закрашен черным. Эксплоит для Markup позволил восстановить оригинал изображения и сделать номер снова видимым.
Также исследователи выпустили PoC-инструмент acropalypse.app, которым может воспользоваться любой желающий. Например, владельцы устройств Pixel, еще не установившие мартовские патчи, могут обрезать любой скриншот, передать инструменту и получить восстановленную версию. Стоит отметить, что PoC работает неидеально, и чаще всего восстановленное изображение представляет собой сильно поврежденный PNG, часть которого пуста. Однако нижнюю часть обрезанного изображения удается восстановить почти всегда.
Судя по всему, проблема была связана с тем, как файл изображения открывается для редактирования: обрезанные данные все равно оставались в новом сохраненном изображении, что позволяло восстановить примерно 80% исходной картинки.
«Отредактированная версия [файла] сохраняется в том же месте, что и оригинал. Однако исходный файл не стирается перед записью нового. Если новый файл меньше, то конечная часть исходного файла сохраняется после того места, где новый файл должен был закончиться», — объясняют исследователи.
Хуже того, как наглядно показывает пример Ааронсона, эта проблема может раскрывать конфиденциальную информацию пользователей, если они отредактировали изображение с помощью Markup, а затем поделились файлом с другими людьми или вообще опубликовали его в интернете. Так как некоторые платформы не сжимают загруженные пользователями медиафайлы, конфиденциальные данные, содержащиеся на изображениях, могли остаться нетронутыми и все еще хранятся где-то в сети все эти годы.
Исследователи сообщили об уязвимости специалистам Google в январе 2023 года, и компания исправила баг с обновлением, выпущенным 13 марта 2023 года.
Как уже отмечалось выше, уязвимость получила идентификатор CVE-2023-21036 и затрагивала все модели Pixel под управлением Android 9 Pie и более поздних версий с Markup на борту. Кроме того, в теории проблема может влиять на другие смартфоны, использующие сторонние дистрибутивы Android, в состав которых входит Markup.