Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-26399-Disclosure — Divulgazione di una vulnerabilità use-after-return basata su stack in Arduino_Core_STM32, con dettagli sulla causa tecnica principale, le versioni interessate e la correzione, inclusa un'analisi dell'impatto sulla sicurezza. | Kitploit
Strumenti/GitHubGitHub/acen28/cve-2026-26399-disclosure
Sicurezza Sistemi EmbeddedAnalisi delle VulnerabilitàFuzzingSicurezza Hardware e IoT
GitHubacen28/cve-2026-26399-disclosure

CVE-2026-26399-Disclosure

Divulgazione di una vulnerabilità use-after-return basata su stack in Arduino_Core_STM32, con dettagli sulla causa tecnica principale, le versioni interessate e la correzione, inclusa un'analisi dell'impatto sulla sicurezza.

Vedi Repository

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
164 mesi faNon ancora revisionato

CVE-2026-26399: Use-After-Return basato su stack in Arduino_Core_STM32 (Versioni Legacy)

Riepilogo

Esiste una vulnerabilità di use-after-return basata su stack nelle versioni legacy di Arduino_Core_STM32 precedenti alla versione 1.7.0.

Il problema si trova nell'implementazione di pwm_start(), dove un oggetto TIM_HandleTypeDef viene allocato sullo stack e il suo indirizzo viene passato alla logica di inizializzazione HAL. Quel puntatore può successivamente essere conservato in un registro globale di handle timer e dereferenziato in modo asincrono dalle routine di servizio degli interrupt dopo che il frame di stack originale è già stato restituito.

A questa vulnerabilità è stato assegnato CVE-2026-26399 da MITRE.

Prodotto Interessato

  • Prodotto: Arduino_Core_STM32
  • Vendor / Progetto: stm32duino / ecosistema STMicroelectronics
  • Versioni interessate: da v0.1.0 a v1.6.1
  • Versione corretta: v1.7.0

Tipo di Vulnerabilità

  • CWE-562: Use After Return
  • Puntatore pendente basato su stack / use-after-return

Dettagli Tecnici

Nell'implementazione legacy di pwm_start(), una struttura TIM_HandleTypeDef viene creata come variabile locale di stack:

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

L'indirizzo di questo oggetto locale viene passato alla logica di supporto HAL e può essere memorizzato nello stato globale di gestione dei timer, come un registro globale di handle timer.

Dopo che pwm_start() restituisce il controllo, l'oggetto di stack non è più valido. Tuttavia, i successivi gestori di interrupt timer asincroni possono ancora dereferenziare il puntatore obsoleto, causando corruzione della memoria e comportamento indefinito.

Impatto

Il possibile impatto sulla sicurezza include:

  • Denial of Service (ad esempio, crash o HardFault)
  • Potenziale esecuzione di codice in condizioni favorevoli di layout di memoria e controllo

Poiché si tratta di un problema a livello di libreria, la reale sfruttabilità dipende da come la libreria vulnerabile viene integrata nel firmware e da come l'input controllato dall'attaccante può influenzare il riutilizzo dello stack e la temporizzazione degli interrupt.

Componenti Interessati

  • cores/arduino/stm32/analog.c
  • pwm_start()
  • TIM_HandleTypeDef
  • logica di tracciamento globale degli handle timer (ad esempio, timer_handles)

Correzione

Il problema sembra essere stato risolto indirettamente nella versione 1.7.0 durante una refactoring che ha sostituito il precedente percorso di gestione basato su stack con un diverso design di gestione dei timer. Non risulta essere stato emesso alcun advisory di sicurezza dedicato per la vulnerabilità legacy.

Scoperta

Questo problema è stato identificato durante una ricerca sulla sicurezza del firmware che ha coinvolto fuzzing e analisi delle cause profonde di firmware legacy basato su STM32 costruito su Arduino_Core_STM32.

Contatto con il Vendor

È stato contattato il PSIRT del vendor. La risposta ha indicato che le versioni attuali non sono interessate perché il problema era già stato risolto nella versione 1.7.0, ma all'epoca non risulta che il vendor abbia richiesto un CVE dedicato.

Crediti

Scoperto da Jin Chang.

Riferimenti

  • Repository del progetto: https://github.com/stm32duino/Arduino_Core_STM32
  • ID CVE: CVE-2026-26399
Scarica lo strumento