Да, это конкретный проёб яблока, но всё же
Гугл распотрошил экслоит израильской NSO и это замечательная конструкция. Люди посылают друг другу смешные анимированные гифки. iMessage хочет, чтобы они крутились вечно. Для этого в заголовке GIF нужно поправить флажок, и чтобы не портить файл iMessage делает его копию. Казалось бы, что могло пойти не так?
По ошибке вместо копирования вызывается рендеринг картинок. А он уже на расширения файлов не смотрит. И NSO под видом гифки подсовывает PDF. А внутри PDF–ки картинка JBIG2 — это такой доисторический формат графики для ксероксов. Чтобы файлы получались маленькими, то он режет картинку на кусочки, и если куски, например буква "а" достаточно похожи между собой, то он использует один глиф для всего, как типографскую литеру.
Из–за этого случались многие беды. Кодек мог к примеру подумать что цифра 6 достаточно похожа на цифру 8, и заменить ее везде на картинках, чтобы сэконосить место. Потому в формат добавили маски — разницу между "похожим" глифом и тем, что нужно воспроизвести. И эти исправления накладываются на глиф с помощью операций AND, OR, XOR и XNOR. То есть эта штука тьюринг–полная. Любое мыслимое вычисление можно провести с помощью этих операций.
Дальше NSO использовали целочисленное переполнение, чтобы выйти за границы буфера и эта часть напоминает бутылку и кораблик. В результате они получили два основных примитива чтение и запись в произвольные места памяти. Если бы они хотели взломать одну конкретную версию софта, то этого бы хватило, но они захотели все и сразу. Для этого нужно знать, что и куда записывать.
И из доисторического графического формата они собрали полноценный виртуальный микрокомпьютер из 70 000 вентилей (те самые маски).
Нужно еще раз все перечислить, чтобы оценить проделанную NSO работу. Вам приходит гифка, которая на самом деле пдфка, и ее по ошибке, не копируют, а пытаются прочитать, в ней доисторическая картинка в формате ксероксов, которая в результате целочисленного переполнения может писать в память, и внутри этой "картинки" семьдесят тысяч блоков логических операций, которые эмулируют небольшой компьютер, который уже находит то место в памяти, которое нужно пропатчить, чтобы убежать из песочницы.
NSO продавали эту изящную вещицу негодяям и убийцам, но то как она сделана!..
А если уйти с практичной точки зрения - фирмы предлагают по миллиону долларов за эксплоит на эппле. То есть даёшь эксплоит, а тебе миллион! Это гугл тебе 500 долларов заплатит, а может и иск захуячит, а эта еврейская фирма - миллион! И дальше она эти эксплоиты копит.
А потом разного рода интересные люди имеют возможность эти эксплоиты купить! Чтобы, скажем, получить разного рода доступ к нужным им вещам. И платят суммы куда большие.
Рынок, так сказать!