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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2025 — This is POC for IOS 0click CVE-2025-43300 | Kitploit
Инструменты/GitHubGitHub/dark-life944/cve-2025
Memory ForensicsVulnerability AnalysisExploitationFuzzingLearning & EducationBinary Exploitation
GitHubdark-life944/cve-2025

CVE-2025

This is POC for IOS 0click CVE-2025-43300

Репозиторий
10 лет назадЕщё не проверено

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться

CVE-2025-43300: Обработка DNG-изображений в iOS/macOS приводит к повреждению памяти

Обзор

CVE-2025-43300 — это критическая уязвимость повреждения памяти в фреймворке обработки изображений Apple, затрагивающая iOS 18.6.1 и системы macOS. Уязвимость существует в коде декомпрессии JPEG Lossless внутри RawCamera.bundle и активируется несоответствиями между метаданными TIFF и параметрами JPEG-потока в файлах DNG.

Детали уязвимости

Основная причина

Уязвимость возникает из-за несоответствия метаданных и потока в файлах DNG (Digital Negative):

  1. Метаданные SamplesPerPixel в заголовках TIFF указывают ожидаемое количество цветовых компонентов.
  2. Количество компонентов SOF3 в потоках JPEG Lossless задаёт фактические компоненты данных.
  3. Когда эти значения различаются, выделение памяти и обработка становятся несогласованными.

Поток повреждения памяти

root@kitploit:~
1. Парсер считывает SamplesPerPixel из метаданных TIFF (например, 2 компонента)
2. Система выделяет буфер: ширина × высота × 2 компонента
3. Декодер JPEG считывает количество компонентов SOF3 (например, 1 компонент)
4. Декодер записывает данные, основываясь на несогласованных предположениях
5. Происходит переполнение буфера, когда записывается больше данных, чем было выделено

Вектор атаки

  • Уязвимость без клика: не требует взаимодействия с пользователем.
  • Автоматическая обработка: активируется при просмотре, импорте или получении DNG-файлов.
  • Кроссплатформенное воздействие: затрагивает как iOS, так и macOS.
  • Повреждение памяти: может привести к сбоям приложений или потенциальному выполнению кода.

Обзор инструментов

Этот репозиторий содержит два инструмента на Python для анализа и воспроизведения CVE-2025-43300:

1. Анализатор уязвимости DNG (dng_vulnerability_analyzer.py)

Назначение: Анализирует структуру DNG-файла для выявления условий уязвимости.

Ключевые возможности:

  • Разбирает структуру TIFF/DNG, включая IFD и SubIFD.
  • Находит теги метаданных SamplesPerPixel.
  • Определяет маркеры SOF3 JPEG Lossless и количество компонентов.
  • Обнаруживает несоответствия метаданных и потока.
  • Сообщает точные смещения в байтах для модификации.

Использование:

root@kitploit:~
python3 dng_vulnerability_analyzer.py <dng_file>

Вывод:

  • Анализ структуры файла.
  • Расположение и значения тегов метаданных.
  • Информация о компонентах JPEG-потока.
  • Оценка уязвимости.
  • Конкретные смещения для создания POC.

2. Безопасный модификатор hex (hex_modifier.py)

Назначение: Создаёт proof-of-concept файлы путём безопасного изменения определённых байтов.

Ключевые возможности:

  • Проверяет ожидаемые значения байтов перед изменением.
  • Создаёт хеши SHA256 для отслеживания файлов.
  • Генерирует отчёты о бинарных различиях.
  • Реализует проверки безопасности для предотвращения случайного повреждения.
  • Поддерживает как ручное, так и автоматическое создание POC.

Использование:

root@kitploit:~
# Создание POC с использованием известных уязвимых смещений
python3 hex_modifier.py create-poc <input.dng>

# Ручное изменение байтов
python3 hex_modifier.py modify <input.dng> <offset> <old_byte> <new_byte> <output.dng>

# Генерация отчёта о различиях
python3 hex_modifier.py diff <original.dng> <modified.dng>

Процесс создания POC

Шаг 1: Анализ целевого файла

root@kitploit:~
python3 dng_vulnerability_analyzer.py IMGP0847.DNG

Это выявит:

  • Расположение метаданных SamplesPerPixel.
  • Расположение количества компонентов SOF3 JPEG.
  • Текущие значения и предлагаемые изменения.

Шаг 2: Создание уязвимого образца

Для POC требуются две конкретные модификации байтов:

  1. Увеличение метаданных SamplesPerPixel (обычно с 1 до 2).
  2. Уменьшение количества компонентов SOF3 (обычно с 2 до 1).
root@kitploit:~
python3 hex_modifier.py create-poc IMGP0847.DNG

Шаг 3: Проверка POC

root@kitploit:~
python3 dng_vulnerability_analyzer.py vuln_poc_IMGP0847.dng

Подтверждает наличие несоответствия и активацию уязвимости.

Почему POC работает

Технический механизм

  1. Фаза выделения:

    • Парсер изображения считывает SamplesPerPixel = 2.
    • Выделяет буфер для пиксельных данных на 2 компонента.
    • Размер буфера = ширина_изображения × высота_изображения × 2.
  2. Фаза обработки:

    • Декодер JPEG Lossless встречает SOF3 с 1 компонентом.
    • Логика парсинга путается в реальном и ожидаемом размере данных.
    • Пытается записать данные на основе несогласованных предположений.
  3. Повреждение памяти:

    • В буфер записывается больше данных, чем было выделено.
    • Переполнение буфера повреждает соседние области памяти.
    • Приводит к сбою приложения или потенциальному выполнению кода.

Особенности формата файла

Файлы DNG используют контейнерный формат TIFF со встроенными потоками JPEG Lossless:

  • Метаданные TIFF описывают свойства изображения и цветовую информацию.
  • JPEG-потоки содержат сжатые пиксельные данные.
  • Доверительные отношения существуют между метаданными и содержимым потока.
  • Пробел в проверке позволяет несоответствующим значениям достигать кода обработки.

Оценка воздействия

Серьёзность: Критическая

  • Оценка CVSS: Высокая (без клика, повреждение памяти, широкое воздействие).
  • Затронутые системы: iOS 18.6.1, системы macOS с аналогичной обработкой изображений.
  • Вектор атаки: Передача файлов по сети / локально.
  • Взаимодействие с пользователем: не требуется.
  • Охват: Все устройства, обрабатывающие DNG-файлы.

Реальные сценарии

  • Вложения электронной почты с DNG-файлами.
  • Передача через AirDrop.
  • Синхронизация облачных фотографий.
  • Загрузка образцов фотографов из Интернета.
  • Обмен медиафайлами в мессенджерах.

Смягчение и исправления

Реакция вендора

  • Исправлено в iOS 18.6.2: Apple реализовала правильную проверку метаданных.
  • Обновления macOS: Аналогичные исправления применены к обработке изображений в macOS.
  • Основная причина: Добавлены проверки согласованности между метаданными и параметрами потока.

Рекомендуемые меры смягчения

  1. Обновите системы: Установите iOS 18.6.2 или новее.
  2. Проверка входных данных: Проверяйте согласованность метаданных в пользовательских парсерах.
  3. Проверка границ: Внедрите строгую проверку размера буфера.
  4. Фаззинг: Регулярное тестирование парсеров файловых форматов.

Структура файла и технические детали

Структура TIFF/DNG

root@kitploit:~
TIFF Header → IFD Chain → SubIFDs → Image Data
├── Теги метаданных (SamplesPerPixel, Compression и т.д.)
├── Потоки JPEG Lossless (маркеры SOF3)
└── Пиксельные данные (сжатые)

Ключевые расположения уязвимости

  • Тег SamplesPerPixel: Тег TIFF 0x0115 в структурах IFD.
  • Маркеры SOF3: Начало кадра JPEG Lossless (0xFFC3).
  • Количество компонентов: Смещение в байтах +9 от маркера SOF3.
  • Критическое несоответствие: когда значение тега ≠ количество компонентов.

Рекомендации по тестированию

Безопасная среда тестирования

  1. Используйте изолированные системы: Виртуальные машины или выделенные тестовые устройства.
  2. Создавайте снимки: Перед тестированием POC-файлов.
  3. Отслеживайте сбои: Проверяйте системные журналы и отчёты о сбоях.
  4. Сетевая изоляция: Предотвратите непреднамеренный обмен файлами.

Ожидаемое поведение

  • Уязвимые системы: Сбой приложения, ошибки повреждения памяти.
  • Системы с исправлениями: Корректная обработка ошибок или правильная обработка.
  • Индикаторы в журналах: Нарушения доступа к памяти, ошибки сегментации.

Технические ссылки

Документация по формату файлов

  • Спецификация TIFF 6.0: Структура тегов и формат IFD.
  • Спецификация DNG: Формат Adobe Digital Negative.
  • Стандарт JPEG: Сжатие без потерь (ITU-T T.87).

Исследования безопасности

  • Методы повреждения памяти: Основы переполнения буфера.
  • Фаззинг файловых форматов: Автоматическое обнаружение уязвимостей.
  • Безопасность парсеров: Рекомендации по проверке ввода.

Отказ от ответственности: Данное исследование предоставляется только в образовательных целях и для защиты. Пользователи несут ответственность за соблюдение применимых законов и этических норм.

ПРИМЕЧАНИЕ

Для активации падения требуется около 1–3 минут. Удачи. А для POC вы можете выполнить open vuln_file.dng, чтобы запустить файл, или просто открыть его для предпросмотра, и оно будет выполнено.

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