Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
uaf-2023-28205 — PoC CVE-2023-28205: vulnerabilidad Use-After-Free en Apple WebKit | Kitploit
Herramientas/GitHubGitHub/seregonwar/uaf-2023-28205
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebAprendizaje y EducaciónDesarrollo de PayloadsExplotación de Binarios
GitHubseregonwar/uaf-2023-28205

uaf-2023-28205

PoC CVE-2023-28205: vulnerabilidad Use-After-Free en Apple WebKit

Ver Repositorio
814hace 8 mesesAún no revisado
Sitio web

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2023-28205: Vulnerabilidad de Use-After-Free en Apple WebKit

Esta vulnerabilidad afecta a Apple WebKit y puede explotarse mediante contenido web manipulado de forma maliciosa, lo que potencialmente permite la ejecución de código arbitrario en el contexto del proceso WebKit.

La compilación de WebKit afectada analizada en este repositorio se basa en WebKit-613.1.17.1 (linaje de PlayStation / Safari 15.4).


Descripción

La prueba de concepto desencadena una condición de use-after-free (UAF) al retrasar intencionalmente el registro de objetos JavaScript como Map y Date durante operaciones de clonado estructurado.

Esta ventana de tiempo permite que el recolector de basura de JavaScriptCore (GC) reclame objetos que todavía están lógicamente en uso, lo que da como resultado que se desreferencien punteros obsoletos durante la ejecución continuada.


Causa raíz técnica (CVE-2023-28205)

Componente afectado

  • SerializedScriptValue
  • CloneDeserializer::deserialize()

Causa raíz

La vulnerabilidad reside en la lógica de deserialización del clonado estructurado, específicamente en cómo se rastrean los objetos JavaScript recién creados durante la deserialización recursiva.

En SerializedScriptValue.cpp, el deserializador utiliza contenedores estándar de WebKit, como:

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

Estos contenedores Vector no son escaneados por el recolector de basura. Si se desencadena un ciclo de recolección de basura durante la deserialización (por ejemplo, mediante presión de memoria o ejecución JS reentrante), los objetos referenciados solo por estos contenedores pueden recolectarse incorrectamente.

Sin embargo, el deserializador continúa usando estos punteros colgantes, lo que da como resultado una condición de use-after-free.

Corrección ausente

El parche de seguridad oficial de WebKit (commit c9880de) reemplaza estos contenedores con MarkedVector, una estructura sensible al GC que registra correctamente su contenido como raíces del GC.

En la compilación analizada:

  • MarkedVector no está implementado
  • CloneDeserializer todavía usa Vector
  • El GC no escanea estas pilas de objetos temporales

Esto confirma que la compilación es completamente vulnerable a CVE-2023-28205.


Análisis del fallo

El siguiente fallo fue provocado de forma fiable por la PoC y es coherente con una desreferencia de puntero obsoleto posterior al GC.

Indicadores clave

  • Señal: SIGSEGV (11)
  • Dirección de fallo: 0x0000000000000068
  • Proceso: SceNKWebProcess
  • Módulo: libSceNKWebKit.sprx

La dirección de fallo 0x68 indica una desreferencia de puntero base NULL con un desplazamiento de campo de objeto, una firma clásica de acceso a un objeto JavaScript liberado.

El estado de los registros lo confirma:

  • RAX = 0x0 (base del objeto NULL)
  • Ejecución completamente dentro del espacio de usuario de WebKit
  • Sin participación del kernel ni de llamadas al sistema

Este comportamiento de fallo es una manifestación directa del UAF en CloneDeserializer descrito anteriormente.


Volcado del fallo

Haz clic para expandir el volcado del fallo
Descargar herramienta