CVE-2025-31200: Переполнение буфера при переназначении каналов APAC в CoreAudio
Обзор уязвимости
CVE-2025-31200 — это уязвимость переполнения буфера в фреймворке CoreAudio от Apple, затрагивающая декодер Apple Positional Audio Codec (APAC). Ошибка находится в функции APACChannelRemapper::Process внутри APACHOADecoder::DecodeAPACFrame.
Затронутые системы:
- iOS < 18.4.1
- macOS < 15.4.1
- Все устройства Apple с фреймворком CoreAudio
Технические детали
Коренная причина
Уязвимость возникает из-за логической ошибки при проверке расположения каналов:
- Массив
mRemappingArray имеет размер, основанный на младших 2 байтах mChannelLayoutTag из глобального расположения каналов
- Во время обработки аудиокадров декодер использует отдельное количество каналов переназначения для итерации по этому массиву
- Создавая несоответствие между этими двумя значениями количества каналов, злоумышленник может вызвать выход за границы памяти
Вектор атаки
Эксплойт работает путем создания вредоносного аудиофайла APAC с:
- Глобальное расположение каналов: 4 канала (определяет размер выделяемого массива)
- Расположение каналов переназначения: 64 канала (определяет количество итераций)
- Результат: 16-кратный выход за границы памяти при переназначении каналов
Доказательство концепции
Этот репозиторий содержит реализацию на Python, которая генерирует вредоносный APAC cookie, эксплуатирующий данную уязвимость.
Файлы
poc.py - Основной генератор эксплойта
generate_audio_simple.py - Генерация аудиофайлов
caf_utils.py - Утилиты для манипуляции APAC cookie
parser.py - Парсинг cookie и создание полезной нагрузки эксплойта
test_exploit.py - Проверка и анализ эксплойта
create_malicious_mp4.py - Генерация полезной нагрузки MP4
Использование
# Generate malicious APAC cookie
pip install numpy construct
python3 poc.py
# Verify exploit payload
python3 test_exploit.py
# Create malicious MP4 (requires macOS afconvert)
python3 create_malicious_mp4.py
Скрипты генерируют:
- Безвредные тестовые аудиофайлы (WAV, M4A, CAF)
exploit_cookie.dat - Вредоносный APAC cookie с несоответствием количества каналов
malicious_apac.m4a - Завершенный MP4-файл, готовый к тестированию
Процесс эксплуатации
- Создать несоответствие расположения каналов в APAC cookie (
poc.py)
- Проверить целостность полезной нагрузки (
test_exploit.py)
- Встроить cookie в аудиоконтейнер MP4/M4A (
create_malicious_mp4.py)
- Развернуть вредоносный файл в уязвимой системе
- Запустить обработку через воспроизведение аудио (AVAudioPlayer, веб-браузер и т.д.)
- Выход за границы памяти происходит в
APACChannelRemapper::Process
Тестовая среда
Для проверки эксплойта на уязвимых системах:
- Цель: macOS < 15.4.1 или iOS < 18.4.1
- Инструменты: Xcode с включенным Guard Malloc
- Ожидаемый сбой:
APACChannelRemapper::Process с EXC_BAD_ACCESS
- Отладка: Используйте LLDB для анализа закономерностей повреждения памяти
Воздействие и потенциал эксплуатации
Немедленные последствия
- Отказ в обслуживании: Гарантированный сбой при обработке вредоносного аудио
- Повреждение памяти: Операции чтения/записи за пределами границ
- Завершение приложения: Любое приложение, обрабатывающее вредоносное аудио, выйдет из строя
Продвинутая эксплуатация
При тщательной подготовке полезной нагрузки эту уязвимость потенциально можно использовать для:
Выполнение кода: Управляя операциями записи за пределами границ, злоумышленник может:
- Перезаписывать указатели на функции или записи виртуальных таблиц
- Повреждать метаданные кучи для достижения примитивов произвольной записи
- Комбинировать с другими уязвимостями для полного компрометации системы
Побег из песочницы: Поскольку CoreAudio работает в различных контекстах безопасности:
- Эксплуатация через браузер с помощью аудиоэлементов HTML5
- Эксплуатация через почтовые клиенты с помощью аудиовложений
- Эксплуатация системных служб в mediaserverd
Сценарии удаленных атак:
- Веб-атаки через вредоносный аудиоконтент
- Эксплуатация через приложения обмена сообщениями с помощью аудиовложений
- Атаки через электронную почту с вредоносными аудиофайлами
- Загрузка вредоносного медиаконтента без ведома пользователя
Векторы атак
- Веб-браузеры, обрабатывающие аудио/видео HTML5 с кодировкой APAC
- Медиаплееры и стриминговые приложения
- Приложения обмена сообщениями, обрабатывающие аудиовложения
- Почтовые клиенты, обрабатывающие мультимедийный контент
- Системные медиаслужбы, автоматически обрабатывающие аудиофайлы
Меры по смягчению
Apple устранила эту уязвимость в:
- iOS 18.4.1 (апрель 2025)
- macOS 15.4.1 (апрель 2025)
Исправление проверяет количество каналов между глобальным расположением и расположением переназначения перед обработкой, предотвращая несоответствие, вызывающее переполнение буфера.

Отказ от ответственности
Это доказательство концепции предоставлено только в образовательных и исследовательских целях. Оно демонстрирует критическую уязвимость безопасности в фреймворке CoreAudio от Apple, чтобы помочь исследователям безопасности понять механизмы атаки и улучшить защитные меры.