Volver a actualizaciones
ActualizadaAug 20, 2026

cve-2026-25262-sm8450-research — Actualizado!

CVE-2026-25262 aplicabilidad a Snapdragon 8 Gen 1 — resultados experimentales

Compartir

Confirmación Experimental de CVE-2026-25262 en Snapdragon 8 Gen 1 (SM8450)

Estado:
Éxito parcial — escritura arbitraria en SRAM confirmada, inicialización completa de Firehose pendiente.

Este repositorio contiene los resultados de un estudio experimental sobre la aplicabilidad de CVE-2026-25262 (Write-What-Where en el protocolo Sahara de Qualcomm) a la plataforma Snapdragon 8 Gen 1 (SM8450), específicamente al dispositivo POCO F4 GT (nombre en clave ingres).

Hallazgos clave (confirmados):

  • CVE-2026-25262 es explotable en SM8450. Es posible escribir datos arbitrarios en SRAM durante el handshake de Sahara, eludiendo la verificación de firmas. Esto confirma la aplicabilidad de la vulnerabilidad a una plataforma ARMv9 moderna de 64 bits más allá de la lista oficialmente reconocida de conjuntos de chips heredados de 32 y 64 bits (ARMv7-A, ARMv8-A).

  • Se ha identificado el flag crítico de autenticación. El análisis estático del cargador Firehose (xbl_s_devprg_ns.melf) reveló una estructura global en la dirección 0x6b9cd500. El estado de autenticación está controlado por un campo de 64 bits en el offset 0x38 (0x6b9cd538). Basándose en el análisis estático, establecer este campo en 5 debería otorgar acceso completo teóricamente.

  • La inyección del flag es técnicamente factible. Usando una herramienta personalizada (cve_final_single), se escribió el valor 5 en la dirección 0x6b9cd538 antes de transferir el control al cargador. La escritura queda registrada en el log, pero el efecto directo de esta operación en la desactivación de la autenticación está sujeto a verificación adicional.

  • El código del cargador se está ejecutando. Después de la inyección, el cargador Firehose responde a comandos básicos (nop), y no se observa el error de autenticación (Only nop and sig tag...). Esto confirma que el código está activo, aunque el contexto de ejecución exacto (Mundo No Seguro o un estado transitorio) sigue sujeto a análisis.

  • Aún no se ha obtenido acceso completo a UFS. Comandos como getstorageinfo devuelven una respuesta vacía; el cargador no proporciona información de diagnóstico (TargetName, MemoryName, Version). Esto indica una inicialización incompleta.

  • Se ha establecido el comportamiento de PBL ante error de hash (bajo arranque estándar con verificación de firmas). La corrupción intencional de la tabla de hash en un archivo de referencia desencadena consistentemente un error de estado 48 (SAHARA_NAK_HASH_VERIFICATION_FAILURE) con las herramientas originales (edl, qdl). Esto sirve como nuestra línea base para la verificación.

Estado actual:
Estamos investigando activamente los pasos restantes para lograr la inicialización completa de Firehose. Se están examinando dos hipótesis principales:

  • Cargar una "imagen raw" – cargar solo los segmentos LOAD (sin cabeceras ELF y la superposición de certificados) puede permitir la inicialización correcta.
  • Dependencias de TrustZone – Firehose puede depender del Mundo Seguro (llamadas SMC), que podría estar inactivo durante la entrega basada en CVE.

En paralelo, se explorará la hipótesis sobre la dependencia de Firehose de TrustZone: si el controlador utiliza llamadas SMC para el acceso a UFS, será necesario neutralizarlas mediante parches.

El trabajo continúa. El repositorio se actualizará a medida que se obtengan nuevos resultados.

Estructura del repositorio:

├── README.md                 
├── docs/
│   └── README_ru.md          
├── article/
│   ├── article_en.md        
│   └── article_ru.md         
├── evidence/
│   ├── pbl_status_en.md
│   └── pbl_status_ru.md  
│   ├── ghidra_analysis_en.md
│   └── ghidra_analysis_ru.md
│   └── cve_injection_log_en.md
│   └── cve_injection_log_ru.md 
└── tools/
    ├── README_en.md
    └── README_ru.md             

⚠️ Divulgación responsable:
Este trabajo se publica con fines educativos y de investigación. No se proporciona el código de exploit completo. Los detalles descritos son suficientes para la verificación y estudios adicionales, pero no incluyen herramientas listas para ataques.

📬 Contacto:
Para preguntas o colaboración, abre un issue en este repositorio.

Última actualización: julio de 2026

Categorías