Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
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
CVE-2025 — Esto es un POC para IOS 0click CVE-2025-43300 | Kitploit
Herramientas/GitHubGitHub/dark-life944/cve-2025
Forensia de MemoriaAnálisis de VulnerabilidadesExplotaciónFuzzingAprendizaje y EducaciónExplotación de Binarios
GitHubdark-life944/cve-2025

CVE-2025

Esto es un POC para IOS 0click CVE-2025-43300

Ver Repositorio
1hace 0 añosAún no revisado

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-2025-43300: Corrupción de Memoria en Procesamiento de Imágenes DNG de iOS/macOS

Resumen

CVE-2025-43300 es una vulnerabilidad crítica de corrupción de memoria en el framework de procesamiento de imágenes de Apple que afecta a iOS 18.6.1 y sistemas macOS. La vulnerabilidad existe en el código de descompresión JPEG Lossless dentro de RawCamera.bundle, desencadenada por inconsistencias entre los metadatos TIFF y los parámetros del flujo JPEG en archivos DNG.

Detalles de la Vulnerabilidad

Causa Raíz

La vulnerabilidad se origina en una inconsistencia entre metadatos y flujo en archivos DNG (Digital Negative):

  1. Los metadatos SamplesPerPixel en los encabezados TIFF indican los componentes de color esperados
  2. El recuento de componentes SOF3 en los flujos JPEG Lossless especifica los componentes de datos reales
  3. Cuando estos valores difieren, la asignación y el procesamiento se desalinean

Flujo de Corrupción de Memoria

root@kitploit:~
1. El analizador lee SamplesPerPixel de los metadatos TIFF (ej., 2 componentes)
2. El sistema asigna un búfer: ancho × alto × 2 componentes
3. El decodificador JPEG lee el recuento de componentes SOF3 (ej., 1 componente)
4. El decodificador escribe datos basándose en suposiciones inconsistentes
5. Se produce un desbordamiento de búfer cuando se escriben más datos de los asignados

Vector de Ataque

  • Vulnerabilidad de cero clics: No se requiere interacción del usuario
  • Procesamiento automático: Se desencadena al ver, importar o recibir archivos DNG
  • Impacto multiplataforma: Afecta tanto a sistemas iOS como macOS
  • Corrupción de memoria: Puede provocar fallos en la aplicación o posible ejecución de código

Resumen de Herramientas

Este repositorio contiene dos herramientas Python para analizar y reproducir CVE-2025-43300:

1. Analizador de Vulnerabilidad DNG (dng_vulnerability_analyzer.py)

Propósito: Analiza la estructura del archivo DNG para identificar condiciones de vulnerabilidad

Características principales:

  • Analiza la estructura del archivo TIFF/DNG, incluyendo IFDs y SubIFDs
  • Localiza etiquetas de metadatos SamplesPerPixel
  • Identifica marcadores SOF3 JPEG Lossless y recuentos de componentes
  • Detecta inconsistencias entre metadatos y flujo
  • Informa desplazamientos de bytes exactos para su modificación

Uso:

root@kitploit:~
python3 dng_vulnerability_analyzer.py <archivo.dng>

Salida:

  • Análisis de la estructura del archivo
  • Ubicaciones y valores de las etiquetas de metadatos
  • Información de componentes del flujo JPEG
  • Evaluación de vulnerabilidad
  • Desplazamientos específicos para la creación de PoC

2. Modificador Hex Seguro (hex_modifier.py)

Propósito: Crea archivos de prueba de concepto modificando bytes específicos de forma segura

Características principales:

  • Verifica los valores de bytes esperados antes de la modificación
  • Crea hashes SHA256 para el seguimiento de archivos
  • Genera informes de diferencias binarias
  • Implementa comprobaciones de seguridad para evitar corrupción accidental
  • Admite la creación manual y automatizada de PoC

Uso:

root@kitploit:~
# Crear PoC usando desplazamientos vulnerables conocidos
python3 hex_modifier.py create-poc <entrada.dng>

# Modificación manual de bytes
python3 hex_modifier.py modify <entrada.dng> <desplazamiento> <byte_viejo> <byte_nuevo> <salida.dng>

# Generar informe de diferencias
python3 hex_modifier.py diff <original.dng> <modificado.dng>

Proceso de Creación de PoC

Paso 1: Analizar el Archivo Objetivo

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

Esto identifica:

  • Ubicación de los metadatos SamplesPerPixel
  • Ubicaciones del recuento de componentes SOF3 JPEG
  • Valores actuales y modificaciones sugeridas

Paso 2: Crear la Muestra Vulnerable

El PoC requiere dos modificaciones de bytes específicas:

  1. Aumentar los metadatos SamplesPerPixel (típicamente de 1 a 2)
  2. Disminuir el recuento de componentes SOF3 (típicamente de 2 a 1)
root@kitploit:~
python3 hex_modifier.py create-poc IMGP0847.DNG

Paso 3: Verificar el PoC

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

Confirma que existe la inconsistencia y que la vulnerabilidad se desencadena.

Por qué Funciona el PoC

Mecanismo Técnico

  1. Fase de Asignación:

    • El analizador de imágenes lee SamplesPerPixel = 2
    • Asigna un búfer para datos de píxeles equivalentes a 2 componentes
    • Tamaño del búfer = ancho_de_imagen × alto_de_imagen × 2
  2. Fase de Procesamiento:

    • El decodificador JPEG Lossless encuentra SOF3 con 1 componente
    • La lógica de análisis se confunde sobre el tamaño real vs. esperado de los datos
    • Intenta escribir datos basándose en suposiciones inconsistentes
  3. Corrupción de Memoria:

    • Se escriben más datos en el búfer de los que se asignaron originalmente
    • El desbordamiento del búfer corrompe regiones de memoria adyacentes
    • Resulta en un fallo de la aplicación o posible ejecución de código

Especificidades del Formato de Archivo

Los archivos DNG utilizan el formato contenedor TIFF con flujos JPEG Lossless incrustados:

  • Metadatos TIFF describen las propiedades de la imagen e información de color
  • Flujos JPEG contienen datos de píxeles comprimidos
  • Relación de confianza existe entre los metadatos y el contenido del flujo
  • Brecha de validación permite que valores inconsistentes lleguen al código de procesamiento

Evaluación del Impacto

Gravedad: Crítica

  • Puntuación CVSS: Alta (cero clics, corrupción de memoria, amplio impacto)
  • Sistemas afectados: iOS 18.6.1, sistemas macOS con procesamiento de imágenes similar
  • Vector de ataque: Transferencia de archivos por red/local
  • Interacción del usuario: Ninguna requerida
  • Alcance: Todos los dispositivos que procesan archivos DNG

Escenarios del Mundo Real

  • Archivos adjuntos de correo electrónico con archivos DNG
  • Transferencias AirDrop
  • Sincronización de fotos en la nube
  • Descargas web de muestras de fotógrafos
  • Compartición de medios en aplicaciones de mensajería

Mitigación y Parches

Respuesta del Vendedor

  • Corregido en iOS 18.6.2: Apple implementó una validación adecuada de metadatos
  • Actualizaciones de macOS: Se aplicaron correcciones similares al procesamiento de imágenes en macOS
  • Causa raíz: Se agregaron comprobaciones de coherencia entre los metadatos y los parámetros del flujo

Mitigaciones Recomendadas

  1. Actualizar sistemas: Instalar iOS 18.6.2 o posterior
  2. Validación de entrada: Verificar la coherencia de los metadatos en analizadores personalizados
  3. Comprobación de límites: Implementar una validación estricta del tamaño del búfer
  4. Fuzzing: Pruebas periódicas de los analizadores de formato de archivo

Estructura del Archivo y Detalles Técnicos

Estructura TIFF/DNG

root@kitploit:~
Encabezado TIFF → Cadena IFD → SubIFDs → Datos de Imagen
├── Etiquetas de Metadatos (SamplesPerPixel, Compression, etc.)
├── Flujos JPEG Lossless (marcadores SOF3)
└── Datos de Píxeles (comprimidos)

Ubicaciones Clave de la Vulnerabilidad

  • Etiqueta SamplesPerPixel: Etiqueta TIFF 0x0115 en estructuras IFD
  • Marcadores SOF3: Inicio de trama JPEG Lossless (0xFFC3)
  • Recuento de Componentes: Desplazamiento de bytes +9 desde el marcador SOF3
  • Desajuste Crítico: Cuando el valor de la etiqueta ≠ recuento de componentes

Directrices de Pruebas

Entorno de Pruebas Seguro

  1. Usar sistemas aislados: MV o dispositivos de prueba dedicados
  2. Crear instantáneas: Antes de probar archivos PoC
  3. Monitorear fallos: Revisar registros del sistema e informes de fallos
  4. Aislamiento de red: Evitar la compartición no intencionada de archivos

Comportamiento Esperado

  • Sistemas vulnerables: Fallo de la aplicación, errores de corrupción de memoria
  • Sistemas parcheados: Manejo de errores adecuado o procesamiento correcto
  • Indicadores en registros: Violaciones de acceso a memoria, fallos de segmentación

Referencias Técnicas

Documentación del Formato de Archivo

  • Especificación TIFF 6.0: Estructura de etiquetas y formato IFD
  • Especificación DNG: Formato Adobe Digital Negative
  • Estándar JPEG: Compresión sin pérdida (ITU-T T.87)

Investigación en Seguridad

  • Técnicas de corrupción de memoria: Fundamentos de desbordamiento de búfer
  • Fuzzing de formatos de archivo: Descubrimiento automatizado de vulnerabilidades
  • Seguridad de analizadores: Mejores prácticas de validación de entrada

Aviso Legal: Esta investigación se proporciona únicamente con fines educativos y de seguridad defensiva. Los usuarios son responsables del cumplimiento de las leyes aplicables y las directrices éticas.

NOTA

El fallo tarda entre 1 y 3 minutos en desencadenarse. Diviértete. Y para el PoC, puedes ejecutar open vuln_file.dng para ejecutar el archivo o simplemente previsualizarlo y se ejecutará.

Descargar herramienta