Пользователи смартфонов Google Pixel столкнулись с aCropalypse — багом в редакторе изображений Markup

vqtglf74qsrdwiqdp3siug6rtoq.png

Пользователи смартфонов Google Pixel (моделей от 3 до 7 версии) столкнулись с проблемой под названием aCropalypse. Это уязвимость (CVE-2023–21036) в штатном редакторе изображений Markup при обработке картинок в формате PNG. Из-за этого бага становится доступна информация из ранее отредактированного файла пользователем. То есть, после выполнения команды Crop (обрезка) или ретуширования и сохранения изменений, можно просмотреть оригинальный файл.
Эксперты по информационной безопасности Саймон Ааронс и Дэвид Бьюкенен выяснили, что популярный у пользователей Google Pixel редактор скриншотов Markup при редактировании изображений в формате PNG не перезаписывает новый файл целиком после выполнения действий и сохранении результата. В сохраненном файле остаются данные, которые можно использовать для частичного или полного восстановления исходного изображения.

1sqh8vzwynnexeswzk1mraciraa.png

Google в курсе этой уязвимости и присвоила багу высокий уровень опасности. Разработчики компании пока не выпустили патч против этой проблемы.

Профильные эксперты создали специальный сайт acropalypse.app для проверки на наличие уязвимости в уже сделанных скриншотов пользователей. Они считают, что во многих картинках со смартфонов Pixel могут находится скрытые конфиденциальные и личные данные пользователе, включая банковскую информацию, адреса, пароли и прочее. Пользователи часто отправляют отредактированные в Markup скриншоты между собой. Фактически оказалось, что Markup в этом случае не удаляет данные и записывает их в отредактированный файл.

Разработчики на Android и энтузиасты выяснили, что эта уязвимость в Markup появилась после обновления API в Android 10. До десятой версии в функции parseMode () использовался параметр «w» по умолчанию, который передавался при обрезании файла и происходила перезапись данные как надо, но потом этот вызов API в Markup прекратил это делать правильно. Начиная с Android 10 команда на сокращение файла исходила после получения параметра «wt» (t — это в данном случае усечение). Google так и не задокументировала эту ситуацию, а при использовании параметра «wt» в системе выдавалась ошибка при перезаписи файла, если новый файл был меньше старого. В итоге получился такой баг, который в Google по непонятной причине пропустили.

-3kxengqctiopaf-n6dt30jsqsc.png
4q73dhntnrnhf4xjqheayvsinku.png

© Habrahabr.ru