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-2026-26399-Disclosure — Divulgación de una vulnerabilidad de use-after-return basada en pila en Arduino_Core_STM32, que detalla la causa raíz técnica, las versiones afectadas y la corrección, con análisis del impacto en la seguridad. | Kitploit
Herramientas/GitHubGitHub/acen28/cve-2026-26399-disclosure
Seguridad de Sistemas EmbebidosAnálisis de VulnerabilidadesFuzzingSeguridad de Hardware e IoT
GitHubacen28/cve-2026-26399-disclosure

CVE-2026-26399-Disclosure

Divulgación de una vulnerabilidad de use-after-return basada en pila en Arduino_Core_STM32, que detalla la causa raíz técnica, las versiones afectadas y la corrección, con análisis del impacto en la seguridad.

Ver Repositorio

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
1hace 4 mesesAún no revisado

CVE-2026-26399: Uso-After-Return basado en pila en Arduino_Core_STM32 (versiones heredadas)

Resumen

Existe una vulnerabilidad de uso-after-return basada en pila en las versiones heredadas de Arduino_Core_STM32 anteriores a la versión 1.7.0.

El problema se encuentra en la implementación de pwm_start(), donde un objeto TIM_HandleTypeDef se asigna en la pila y su dirección se pasa a la lógica de inicialización de HAL. Ese puntero puede ser retenido posteriormente en un registro global de manejadores de temporizadores y ser desreferenciado de forma asíncrona por rutinas de servicio de interrupción después de que el marco de pila original ya haya retornado.

Esta vulnerabilidad ha sido asignada como CVE-2026-26399 por MITRE.

Producto afectado

  • Producto: Arduino_Core_STM32
  • Proveedor / Proyecto: stm32duino / ecosistema STMicroelectronics
  • Versiones afectadas: v0.1.0 hasta v1.6.1
  • Versión corregida: v1.7.0

Tipo de vulnerabilidad

  • CWE-562: Uso después del retorno
  • Puntero colgante basado en pila / uso-after-return

Detalles técnicos

En la implementación heredada de pwm_start(), se crea una estructura TIM_HandleTypeDef como variable local de pila:

root@kitploit:~
void pwm_start(...) {
    TIM_HandleTypeDef timHandle = {};
    HAL_TIM_PWM_Init(&timHandle);
    ...
}

La dirección de este objeto local se pasa a la lógica de soporte de HAL y puede almacenarse en el estado global de gestión de temporizadores, como un registro global de manejadores de temporizadores.

Después de que pwm_start() retorna, el objeto de pila ya no es válido. Sin embargo, los manejadores de interrupción de temporizador asíncronos posteriores pueden seguir desreferenciando el puntero obsoleto, lo que provoca corrupción de memoria y comportamiento indefinido.

Impacto

El posible impacto de seguridad incluye:

  • Denegación de servicio (por ejemplo, bloqueo o HardFault)
  • Posible ejecución de código bajo condiciones favorables de diseño de memoria y control

Debido a que se trata de un problema a nivel de biblioteca, la explotabilidad real depende de cómo se integre la biblioteca vulnerable en el firmware y de cómo la entrada controlada por el atacante pueda influir en la reutilización de la pila y en la sincronización de las interrupciones.

Componentes afectados

  • cores/arduino/stm32/analog.c
  • pwm_start()
  • TIM_HandleTypeDef
  • lógica de seguimiento global de manejadores de temporizadores (por ejemplo, timer_handles)

Corrección

El problema parece haberse resuelto indirectamente en la versión 1.7.0 durante una refactorización que reemplazó la ruta de manejo basada en pila anterior por un diseño diferente de gestión de temporizadores. No parece haberse emitido ningún aviso de seguridad específico para la vulnerabilidad heredada.

Descubrimiento

Este problema se identificó durante una investigación de seguridad de firmware que implicó fuzzing y análisis de causa raíz de firmware heredado basado en STM32 construido sobre Arduino_Core_STM32.

Contacto con el proveedor

Se contactó con el PSIRT del proveedor. La respuesta indicó que las versiones actuales no están afectadas porque el problema ya se había corregido en la versión 1.7.0, pero el proveedor no parece haber solicitado un CVE específico en ese momento.

Créditos

Descubierto por Jin Chang.

Referencias

  • Repositorio del proyecto: https://github.com/stm32duino/Arduino_Core_STM32
  • ID de CVE: CVE-2026-26399
Descargar herramienta