Как не стоит обрезать изображения. aCropalypse (CVE-2023-21036)

1. Немного истории.

В январе 2023 года экспертами Саймон Ааронс и Дэвид Бьюкенен была обнаружена уязвимость в линейке смартфонов google pixel. При работе во встроенном редакторе изображений Markup и редактировании файлов .png данные исходника не удалялись
полностью и подлежали восстановлению. Таким образом, при обрезке или ретушировании изображений у злоумышленника была возможность полностью (или частично) восстановить данные исходника.

a1b9800d83cc89bb8eee4fdfce342b1f.png

2. Чем опасен?

После обнаружения уязвимости злоумышленники могли восстанавливать исходники изображений из их изменённых версий.

Это может привести:
⦁ Утечкам персональных данных.
⦁ Утечкам данных банковских карт.
⦁ Получение злоумышленником нежелательной информации (компрометирующих данных).

0812ab5a3d26539a2181aeb9394119b2.jpg77e74bb9c4b442556b4147596bf123e8.png

3. Как работает aCropalypse?

Как же работала эта уязвимость и на чем она основана ? aCropalypse была замечена в android 10 после обновления API. В этом обновлении для сохранения изменений изображения
использовалось не перезапись файла, а усечение. То есть данные исходного изображения сохранялись в данных обрезанного PNG файла.

acb180c0b50e8f669b3f0203baf2c908.jpeg


Открытие измененного в Markup ».png» файла :  

2ac570bd419bb3b44916a5492cc705c4.jpeg

4. Нанесенный ущерб и исправление уязвимости.

Экспертами в области информационной безопасности было подтверждено, что уязвимость находится в системе с 2018 года. Можно только предполагать насколько большой ущерб она нанесла и сколько данных было получено нежелательными лицами за все время присутствия этой уязвимости. Об уязвимости сообщили в январе, а исправлена она была в марте компанией Google. После исправления бага уязвимость не была задокументирована компанией и ни как не афишировалась. 

5. Как исправить ?

Уязвимость была исправлена очень быстро, но несмотря на это нанесла немалый ущерб. Проблема решалась простой перезаписью данных и удалением исходников при изменении изображения.

72dcc69cfe4a0b53ef8ddfdbcdb61f07.jpeg

6. Выводы по уязвимости.

Данная уязвимость является примером того, как простая ошибка в коде может оказаться критической дырой в безопасности у огромной корпорации. 

Этот пример подчеркивает важность пентеста, баг хантеров и анализа кода на защищенность. Пишите безопасный код !

7. Источники. 

  1. acropalypse · GitHub Topics · GitHub 

  2. Windows 11 also vulnerable to «aCropalypse» image data leakage — Sophos News 

  3. 0-Day: aCROPalypse on Pixel and Windows devices. — Tech News — Linus Tech Tips 

© Habrahabr.ru