CVE-2025-43300 в iOS. Или опять проблема с изображениями
Раз уж мы в последние дни часто говорим об iOS, то вот относительный свежачок.
Детальный разбор проблемы от Quarkslab.
Если кратко о сути проблемы:
Баг обнаружился в коде, который обрабатывает DNG-файлы с JPEG-сжатием без потерь. DNG — это Adobe-стандарт для RAW-изображений, и такие файлы часто содержат сжатые данные для экономии места.
Уязвимость классическая: out-of-bounds write, то есть запись за границы выделенного буфера памяти. При декомпрессии изображения код анализирует два ключевых параметра: SamplesPerPixel (количество каналов на пиксель) и NumComponents (количество компонентов в сжатых данных). Проблема возникает, когда SamplesPerPixel равен 2, а NumComponents — 1.
Алгоритм выделяет буфер, рассчитанный на один компонент, но в цикле декомпрессии использует значение SamplesPerPixel для определения размера записываемых данных. Получается, что места выделено для одного элемента, а записывается два — классическое переполнение буфера.
Весь кайф в том, что это zero-click уязвимость, которая не требует от пользователя ничего!Система iOS автоматически обрабатывает изображения при их получении — через iMessage, SMS, WhatsApp или другие мессенджеры. Пользователю даже не нужно открывать файл, достаточно его получить.
Исследователи подтвердили, что уязвимость активно эксплуатировалась в реальных атаках, как говорится in-the-wild.
Ну и как, безопасен iOS? 👻
#iossecurity #CVE-2025-43300 #CVE #iOS #MAW
Раз уж мы в последние дни часто говорим об iOS, то вот относительный свежачок.
Детальный разбор проблемы от Quarkslab.
Если кратко о сути проблемы:
Баг обнаружился в коде, который обрабатывает DNG-файлы с JPEG-сжатием без потерь. DNG — это Adobe-стандарт для RAW-изображений, и такие файлы часто содержат сжатые данные для экономии места.
Уязвимость классическая: out-of-bounds write, то есть запись за границы выделенного буфера памяти. При декомпрессии изображения код анализирует два ключевых параметра: SamplesPerPixel (количество каналов на пиксель) и NumComponents (количество компонентов в сжатых данных). Проблема возникает, когда SamplesPerPixel равен 2, а NumComponents — 1.
Алгоритм выделяет буфер, рассчитанный на один компонент, но в цикле декомпрессии использует значение SamplesPerPixel для определения размера записываемых данных. Получается, что места выделено для одного элемента, а записывается два — классическое переполнение буфера.
Весь кайф в том, что это zero-click уязвимость, которая не требует от пользователя ничего!Система iOS автоматически обрабатывает изображения при их получении — через iMessage, SMS, WhatsApp или другие мессенджеры. Пользователю даже не нужно открывать файл, достаточно его получить.
Исследователи подтвердили, что уязвимость активно эксплуатировалась в реальных атаках, как говорится in-the-wild.
Ну и как, безопасен iOS? 👻
#iossecurity #CVE-2025-43300 #CVE #iOS #MAW
Quarkslab
Reverse engineering of Apple's iOS 0-click CVE-2025-43300: 2 bytes that make size matter - Quarkslab's blog
On August 20th, Apple released an out-of-band security fix for its main operating systems. This patch allegedly fixes CVE-2025-43300, an out-of-bounds write, addressed with improved bounds checking in the ImageIO framework. In this blog post we provide a…
👍15🔥8❤3