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

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

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

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

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

Категории

Все категории
Loading categories
uaf-2023-28205 — PoC CVE-2023-28205: Уязвимость использования после освобождения в Apple WebKit | Kitploit
Инструменты/GitHubGitHub/seregonwar/uaf-2023-28205
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийОбучение и ОбразованиеРазработка Полезной НагрузкиЭксплуатация Бинарных Файлов
GitHubseregonwar/uaf-2023-28205

uaf-2023-28205

PoC CVE-2023-28205: Уязвимость использования после освобождения в Apple WebKit

Репозиторий
8148 месяцев назадЕщё не проверено
Сайт

Популярное

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

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

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

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

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

CVE-2023-28205: Уязвимость использования после освобождения в Apple WebKit

Эта уязвимость затрагивает Apple WebKit и может быть использована через специально сформированное веб-содержимое, потенциально позволяя выполнение произвольного кода в контексте процесса WebKit.

Затронутая сборка WebKit, проанализированная в этом репозитории, основана на WebKit-613.1.17.1 (линия PlayStation / Safari 15.4).


Описание

Концепт-эксплойт инициирует состояние использования после освобождения (UAF), намеренно задерживая регистрацию JavaScript-объектов, таких как Map и Date, во время операций структурированного клонирования.

Это временное окно позволяет сборщику мусора JavaScriptCore (GC) освобождать объекты, которые всё ещё логически используются, что приводит к разыменованию устаревших указателей при дальнейшем выполнении.


Техническая первопричина (CVE-2023-28205)

Затронутый компонент

  • SerializedScriptValue
  • CloneDeserializer::deserialize()

Первопричина

Уязвимость находится в логике десериализации структурированного клонирования, а именно в том, как отслеживаются вновь созданные JavaScript-объекты во время рекурсивной десериализации.

В SerializedScriptValue.cpp десериализатор использует стандартные контейнеры WebKit, такие как:

Vector<JSObject*, 32> outputObjectStack;
Vector<JSMap*, 4> mapStack;
Vector<JSSet*, 4> setStack;

Эти контейнеры Vector не сканируются сборщиком мусора. Если во время десериализации запускается цикл сборки мусора (например, из-за нехватки памяти или повторного выполнения JS), объекты, на которые ссылаются только эти контейнеры, могут быть ошибочно собраны.

Однако десериализатор продолжает использовать эти висячие указатели, что приводит к состоянию использования после освобождения.

Отсутствующее исправление

Официальный патч безопасности WebKit (коммит c9880de) заменяет эти контейнеры на MarkedVector — структуру, учитывающую GC, которая корректно регистрирует своё содержимое как корни GC.

В проанализированной сборке:

  • MarkedVector не реализован
  • CloneDeserializer по-прежнему использует Vector
  • GC не сканирует эти временные стеки объектов

Это подтверждает, что сборка полностью уязвима к CVE-2023-28205.


Анализ сбоя

Следующий сбой был надёжно воспроизведён PoC и согласуется с разыменованием устаревшего указателя после GC.

Ключевые индикаторы

  • Сигнал: SIGSEGV (11)
  • Адрес ошибки: 0x0000000000000068
  • Процесс: SceNKWebProcess
  • Модуль: libSceNKWebKit.sprx

Адрес ошибки 0x68 указывает на разыменование нулевого базового указателя со смещением поля объекта — классический признак доступа к освобождённому JavaScript-объекту.

Состояние регистров подтверждает:

  • RAX = 0x0 (база объекта NULL)
  • Выполнение полностью в пользовательском пространстве WebKit
  • Без участия ядра или системных вызовов

Это поведение сбоя является прямым проявлением описанного выше UAF в CloneDeserializer.


Дамп сбоя

Нажмите, чтобы развернуть дамп сбоя
Скачать инструмент