Специалисты по безопасности обнаружили серьёзную уязвимость в инструменте для создания скриншотов «Ножницы» в Windows 11, которая позволяет частично или полностью восстановить вырезанные со скриншотов данные. Такая же проблема под названием aCropalypse присутствует в инструменте создания скриншотов на смартфонах Google Pixel.
Как правило, если вы делаете скриншот интерфейса, на котором присутствуют какие-то чувствительные данные (банковские данные или адрес), то при отправке этого скриншота вы кадрируете изображение. Однако, как оказалось, функция обрезки в «Ножницах» Windows 11 на самом деле не работает — с помощью довольно простого скрипта можно восстановить исходное изображение.
Microsoft знает о проблеме и проводит внутреннее расследование в отношении уязвимости. Компания обещает принять все необходимые меры, чтобы защитить клиентов.
Сайт BleepingComputer проверил информацию об уязвимости и опубликовал подробную техническую информацию.
Существующий PNG-файл был открыт в инструменте «Ножницы», кадрирован, после чего изменения были сохранены в исходном файле. Исходное изображение находится слева, обрезанное — справа.
Несмотря на то, что обрезанное изображение содержит гораздо меньше данных, размеры обоих файлов оказались одинакомыми.
Спецификация PNG требует, чтобы файл заканчивался фрагментом «IEND». Любые данные после него должны игнорироваться редакторами и средствами просмотра изображений. Оригинальный файл заканчивается фрагментом «IEND» и не содержит каких-либо данных после него.
Приложение «Ножницы» не удалило более неиспользуемые данные, и они остались после фрагмента «IEND». В просмотрщиках изображений всё работает корректно, так как данные после этого фрагмента игнорируются. Однако их можно использовать для частичного восстановления исходного изображения.
С помощью специального скрипта удалось частично восстановить изображение из обрезанного файла:
На данный момент неизвестно, когда Microsoft выпустит обновление системы, которое исправит данный баг, но, скорее всего, его следует ожидать уже в ближайшее время.