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-43300 — Este es un POC para IOS 0click CVE-2025-43300 | Kitploit
Herramientas/GitHubGitHub/hunters-sec/cve-2025-43300
Seguridad de Sistemas EmbebidosSeguridad iOSForensia de MemoriaAnálisis de VulnerabilidadesExplotaciónFuzzingSeguridad MóvilPapers e InvestigaciónAprendizaje y EducaciónExplotación de Binarios
GitHubhunters-sec/cve-2025-43300

CVE-2025-43300

116293hace 1 añoRevisado por Kitploit

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

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

Ver Repositorio

CVE-2025-43300: Corrupción de memoria en el procesamiento de imágenes DNG de iOS/macOS

Descripción general

CVE-2025-43300 es una vulnerabilidad crítica de corrupción de memoria en el marco 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. SamplesPerPixel en los metadatos TIFF indica los componentes de color esperados
  2. El conteo 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. Parser reads SamplesPerPixel from TIFF metadata (e.g., 2 components)
2. System allocates buffer: width × height × 2 components
3. JPEG decoder reads SOF3 component count (e.g., 1 component)
4. Decoder writes data based on inconsistent assumptions
5. Buffer overflow occurs when more data is written than allocated

Vector de ataque

  • Vulnerabilidad de cero clics: No se requiere interacción del usuario
  • Procesamiento automático: Se activa 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

Descripción general de las herramientas

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

1. Analizador de vulnerabilidades 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 conteos de componentes
  • Detecta inconsistencias entre metadatos y flujo
  • Informa desplazamientos exactos de bytes para modificación

Uso:

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

Salida:

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

2. Modificador hexadecimal 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 modificar
  • Crea hashes SHA256 para seguimiento de archivos
  • Genera informes de diferencias binarias
  • Implementa comprobaciones de seguridad para evitar corrupción accidental
  • Soporta creación manual y automatizada de PoC

Uso:

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

# Modificación manual de bytes
python3 hex_modifier.py modify <input.dng> <offset> <old_byte> <new_byte> <output.dng>

# Generar informe de diferencias
python3 hex_modifier.py diff <original.dng> <modified.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 metadatos SamplesPerPixel
  • Ubicaciones de conteo de componentes SOF3 JPEG
  • Valores actuales y modificaciones sugeridas

Paso 2: Crear una muestra vulnerable

El PoC requiere dos modificaciones de bytes específicas:

  1. Aumentar metadatos SamplesPerPixel (normalmente de 1 a 2)
  2. Disminuir el conteo de componentes SOF3 (normalmente 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 la inconsistencia existe y se activa la vulnerabilidad.

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 2 componentes de datos de píxel
    • Tamaño del búfer = image_width × image_height × 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 asignados 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íxel 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 proveedor

  • 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 de macOS
  • Causa raíz: Se agregaron comprobaciones de consistencia entre metadatos y parámetros de flujo

Mitigaciones recomendadas

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

Estructura del archivo y detalles técnicos

Estructura TIFF/DNG

root@kitploit:~
TIFF Header → IFD Chain → SubIFDs → Image Data
├── Metadata Tags (SamplesPerPixel, Compression, etc.)
├── JPEG Lossless Streams (SOF3 markers)
└── Pixel Data (compressed)

Ubicaciones clave de la vulnerabilidad

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

Directrices de prueba

Entorno de prueba seguro

  1. Usar sistemas aislados: Máquinas virtuales 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 compartir archivos no intencionado

Comportamiento esperado

  • Sistemas vulnerables: Fallo de la aplicación, errores de corrupción de memoria
  • Sistemas parcheados: Manejo de errores correcto o procesamiento adecuado
  • Indicadores de registro: 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 pautas éticas.

NOTA

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

Descargar herramienta