CVE-2026-11985 in Zephyrinformazioni

Riassunto

di VulDB • 11/08/2026

Sulla porta ARM di Zephyr, l'abilitazione della FPU hardware (CONFIG_FPU) forza la scelta dell'"Floating point ABI", che ha come valore predefinito CONFIG_FP_HARDABI. Sia FP_HARDABI che FP_SOFTABI permettono al compilatore di generare istruzioni FPU hardware in qualsiasi funzione, anche nel codice che non utilizza mai tipi floating-point. Tuttavia, i registri FP salvati dal callee (s16-s31 / d8-d15) vengono salvati e ripristinati solo durante un context switch quando CONFIG_FPU_SHARING è abilitato (arch/arm/core/cortex_m/swap_helper.S e arch/arm/core/cortex_a_r/swap_helper.S); prima di questa correzione, la selezione di una ABI non attivava lo sharing dei registri FPU, che è disabilitato per impostazione predefinita.

In un build in cui la FPU è abilitata con l'ABI predefinita ma CONFIG_FPU_SHARING rimane disabilitato, il kernel non preserva alcuno stato dei registri FP salvati dal callee tra i thread switch. La condizione preliminare documentata per questa modalità "unshared" — ovvero che solo un singolo thread esegua mai istruzioni FP — viene violata silenziosamente poiché il compilatore può generare istruzioni FP in ogni thread.

Sotto CONFIG_USERSPACE, dove i thread sono mutualmente isolati, ciò diventa una violazione del confine di divulgazione delle informazioni: un thread vittima può lasciare valori derivati da segreti nei registri s16-s31 e un thread non privilegiato co-residente può leggere direttamente tali registri (l'accesso ai registri FP non è limitato dai livelli di privilegio), recuperando i dati lasciati indietro da un altro thread. Senza userspace, lo stesso difetto causa una corruzione dello stato FP cross-thread (un errore di correttezza). La fuoriuscita di dati è limitata ai 16 registri single-precision salvati dal callee ed è opportunistica, quindi l'impatto è basso.

La correzione fa sì che FP_HARDABI e FP_SOFTABI selezionino CONFIG_FPU_SHARING e contrassegnano ogni thread con K_FP_REGS alla creazione, in modo che lo stato FP salvato dal callee sia sempre preservato tra i context switch ogni volta che il compilatore potrebbe generare istruzioni FP.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Responsabile

Zephyr

Prenotare

11/06/2026

Divulgazione

11/08/2026

Moderazione

accettato

CPE

pronto

EPSS

0.00000

KEV

no

Attività

basso

Fonti

Do you want to use VulDB in your project?

Use the official API to access entries easily!