вот вам лонгрид про FORCEDENTRY - уязвимость, с помощью которой NSO Group ломала iphone еще вот буквально в 2021 году. Сама уязвимость была исправлена в сентябре этого года. Отчёт об её исследовании опубликовали Project Zero при содействии Citizen Lab и специалистов Apple Security Engineering and Architecture (SEAR).
https://googleprojectzero.blogspot.com/2021/12/a-deep-dive-into-nso-zero-click.html
Эксплуатация уязвимости предполагала отправку сообщения жертве, но ей даже не надо было ничего делать - клик по ссылке не требовался. Там интересный момент в том, что при получении гиф-файла, еще до того, как картинка показывалась пользователю в приложении Messages, системой вызывался метод, который копировал гифку для дальнейшего показа. Только вот в файле формата gif может быть совсем не гифка. В итоге специально подготовленный файл вызывал библиотеку ImageIO, который пытался угадать формат файла, и тут уже участниками процесса становились более 20 кодеков изображений. А дальше там уже PDF внутри гифки, который начинает разбирать парсер CoreGraphics, а внутри ПДФ можно засунуть JavaScript…
но на самом деле там идёт речь о формате JBIG2, компрессии символов глифов в этом формате, переполнении буфера памяти и ещё каких-то страшных вещах, которые я в какой-то момент перестал понимать:
JBIG2 doesn't have scripting capabilities, but when combined with a vulnerability, it does have the ability to emulate circuits of arbitrary logic gates operating on arbitrary memory. So why not just use that to build your own computer architecture and script that!? That's exactly what this exploit does. Using over 70,000 segment commands defining logical bit operations, they define a small computer architecture with features such as registers and a full 64-bit adder and comparator which they use to search memory and perform arithmetic operations. It's not as fast as Javascript, but it's fundamentally computationally equivalent.
Дальше авторы поста обещают продолжение с рассказом, как происходил «побег из песочницы», так что ждём
я такое не умею нафажживать(
Аа, значит ты с подельником
Обсуждают сегодня