Возможность восстановления части скриншотов, кадрированных на смартфонах Pixel

В приложении Markup, применяемом в смартфонах Google Pixel для кадрирования и редактирования скриншотов, выявлена уязвимость (CVE-2023-21036), позволяющая частично восстановить обрезанную или отредактированную информацию. Проблема проявляется при редактировании в Markup PNG-изображений и вызвана тем, что при записи нового изменённого изображения данные накладываются на старый файл без его усечения, т.е. полученный после редактирования итоговый файл включает хвост исходного файла, в котором остаются старые сжатые данные.

Проблема оценивается как уязвимость, так как пользователь может опубликовать отредактированное изображение, предварительно вырезав конфиденциальные данные, но на деле эти данные остаются в файле, хотя и не видны при обычном просмотре. Для восстановления оставшихся данных запущен web-сервис acropalypse.app и опубликован пример Python-скрипта.

Уязвимость проявляется начиная с серии смартфонов Google Pixel 3, выпущенной в 2018 году, при использовании прошивок на базе Android 10 и более новых выпусков. Проблема устранена в мартовском обновлении Android-прошивки для смартфонов Pixel. Предполагается, что причиной возникновения проблемы является изменение недокументированного поведения метода ParcelFileDescriptor.parseMode(), в котором до выпуска платформы Android 10 флаг «w» (write) приводил к усечению файла при попытке записи в уже существующий файл, но начиная с выпуска Android 10 поведение было изменено и для усечения стало требоваться явное указание флага «wt» (write, truncate), а при указании флага «w» хвост после перезаписи перестал удаляться.

Источник: http://www.opennet.ru/opennews/art.shtml?num=58849