Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2026-28956-jxl-messages-surface — JPEG XL автоматически декодируется в пути предпросмотра iOS Messages — находка поверхности доставки для CVE-2026-28956 (AppleJPEGXL), с атрибуцией по диффу патча (libjxl 0.10.4->0.10.5) и честной проверкой надёжности публичного PoC. | Kitploit
Инструменты/GitHubGitHub/eddinos2/cve-2026-28956-jxl-messages-surface
Безопасность iOSАнализ уязвимостейЭксплуатацияАнализ вредоносных программМобильная безопасностьСтатьи и Исследования
GitHubeddinos2/cve-2026-28956-jxl-messages-surface

CVE-2026-28956-jxl-messages-surface

JPEG XL автоматически декодируется в пути предпросмотра iOS Messages — находка поверхности доставки для CVE-2026-28956 (AppleJPEGXL), с атрибуцией по диффу патча (libjxl 0.10.4->0.10.5) и честной проверкой надёжности публичного PoC.

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Репозиторий
1 день назадЕщё не проверено
Поделиться

JPEG XL автоматически декодируется в пути предпросмотра iOS Messages

Находка поверхности доставки для CVE-2026-28956 (AppleJPEGXL), а также атрибуция по патч-диффу и проверка реальности публичного PoC.

TL;DR — Общепринятое мнение (и наши собственные предыдущие измерения с EXR) заключается в том, что iOS Messages отображает вложения, не являющиеся JPEG/PNG/HEIC, как общие файловые блобы без их декодирования. JPEG XL разрушает это предположение: .jxl-вложение передаётся декодеру в пути предпросмотра Messages. Мы наблюдали, как ImageIO внутри MobileSMS пытался декодировать JXL-контент при получении, без какого-либо взаимодействия с пользователем. Это делает AppleJPEGXL живой zero-click поверхностью атаки так, как форматы класса EXR — нет.

Содержимое

файлчто это
PROBE_RESULT.mdЗонд поверхности доставки: настройка, доказательства от отправителя, системный журнал устройства с попытками декодирования, уровни вердикта
DIFF.mdПатч-дифф iOS 26.4.2 против 26.5: CVE-2026-28956 атрибутирован AppleJPEGXL (libjxl 0.10.4 → 0.10.5); кандидаты CVE-2026-43661 в ImageIO
pocs/poc.jxlПубличный триггер из 149 байт (из статьи автора), использованный как полезная нагрузка зонда
pocs/poc_brand.heic, pocs/poc_mif1.heicТе же байты с изменённым брендом ftyp на heic / mif1 — для проверки сниффинга контента против объявленного UTI
pocs/jxldec.mМинимальный харнесс декодирования CGImageSource (кросс-компилируется для iOS), использованный для тестов декодирования на устройстве

Суть находки

Три вложения были отправлены через iMessage (синий транспорт, байт-в-байт целостность по chat.db отправителя) на физический iPhone под iOS 18.6.2, с idevicesyslog, наблюдающим за поверхностями декодирования:

  1. poc.jxl (UTI public.jpeg-xl)
  2. poc_brand.heic (те же байты, бренд heic)
  3. poc_mif1.heic (бренд mif1)

Журнал устройства (MobileSMS):

root@kitploit:~
MobileSMS(ImageIO): createImageAtIndex:2093: *** ERROR: createImageAtIndex[0] - 'JXL ' - failed to create image [-58]
MobileSMS(ImageIO): CGImageSourceCreateImageAtIndex:5081: *** ERROR: ... 'JXL ' ... [-58]

Выделяются две вещи:

  • Декодер вообще запустился. Для сравнения, EXR-вложение в той же настройке не порождает никакой активности декодирования — Messages показывает значок файла и никогда не вызывает декодер. JXL обрабатывается как изображение, которое стоит декодировать в предпросмотре.
  • Сниффинг контента побеждает объявленный бренд. Варианты с брендом .heic также были определены как 'JXL ' по магическим байтам и направлены в JXL-декодер, так что имя файла .heic не направляет разбор в HEIF-ридер — и, наоборот, обычное .jxl-вложение уже достигает AppleJPEGXL. Никаких ухищрений с контейнером для доставки не требуется.

Ошибки -58 — это более старый (iOS 18.6.2) декодер, отклоняющий некорректную дублированную структуру jxlc; суть в том, что разбор произошёл.

Проверка реальности (честно)

Открытая поверхность не делает публичный PoC работающим zero-click:

  • Публичный триггер из 149 байт не вызывает крах на iOS 26.4.2, iOS 18.6.2 или macOS 26.3.1 через голое декодирование CGImageSource (10/10 запусков под MallocScribble, плюс вариант с 8× дублированным триггером).
  • Батарея специально созданных враждебных файлов с кадрами (сконструированные смещения frame_origin, нацеленные на путь низкопамятного конвейера рендеринга, который укрепляет реальный апстрим-фикс — libjxl PR #4495) также декодируется чисто на iOS 26.4.2.
  • Собственная статья автора отмечает, что его анализ первопричины может быть неполным, а его доказательства краха были получены в macOS Safari с библиотекой-интерпозером.

Итак: доставка 0-click доказана; надёжный триггер — нет. Баг, который Apple пропатчила, реален (см. DIFF.md — копирование Plane/float в низкопамятном конвейере было переписано и укреплено), но превращение его в детерминированное повреждение памяти на iOS — это проблема вепонизации, которую публичный артефакт не решает.

Зачем публиковать в любом случае

Все, кого мы спрашивали (и наш собственный эксперимент с EXR), предполагали, что вложения, не являющиеся JPEG/PNG/HEIC, не декодируются в предпросмотре Messages. JXL — декодируется. Это конкретное, проверяемое расширение zero-click поверхности атаки, и это означает, что баги AppleJPEGXL заслуживают охоты с учётом доставки через iMessage, а не только WebContent.

Для образовательных и защитных исследовательских целей. Тестируйте только на оборудовании, которым владеете.

Скачать инструмент