CVE-2026-98888 in Linuxinformazioni

Riassunto

di VulDB • 23/10/2026

Nel kernel Linux, è stata risolta la seguente vulnerabilità:

arm64: kprobes: Consenti il riutilizzo di kprobes durante l'esecuzione passo-passo (single-stepping)

Un kprobe può essere attivato mentre un altro kprobe si trova nello stato KPROBE_HIT_SS. Ciò può verificarsi quando il codice di tracing o perf viene eseguito dal percorso delle eccezioni di debug mentre il primo kprobe sta preparando o eseguendo la sua istruzione single-step fuori dalla linea (out-of-line).

Attualmente, arm64 tratta un attivazione di kprobe in KPROBE_HIT_SS come irrecuperabile, allo stesso modo di una attivazione in KPROBE_REENTER. Questo approccio è troppo restrittivo. Un'attivazione in KPROBE_HIT_SS rappresenta comunque un riutilizzo a livello singolo (one-level reentry) e può essere gestita salvando lo stato corrente del kprobe e configurando il single-step per la nuova probe, proprio come avviene nel caso di riutilizzo proveniente da KPROBE_HIT_ACTIVE o KPROBE_HIT_SSDONE.

Il caso veramente irrecuperabile è l'attivazione di un altro kprobe mentre si è già in KPROBE_REENTER, poiché l'area di salvataggio del riutilizzo (reentry save area) è già stata consumata.

Spostare KPROBE_HIT_SS tra i casi di riutilizzo recuperabili e lasciare KPROBE_REENTER come caso di riutilizzo nidificato irrecuperabile.

Questa modifica richiede anche il salvataggio di saved_irqflag in struct prev_kprobe. Quando un kprobe nidificato chiama kprobes_save_local_irqflag(), sovrascrive kcb->saved_irqflag con il valore DAIF attualmente mascherato, perdendo lo stato originale DAIF del kprobe esterno. Senza questa correzione, quando l'esecuzione passo-passo (single-step) del kprobe esterno termina, kprobes_restore_local_irqflag() applica la maschera DAIF errata e lascia le interruzioni disabilitate in modo permanente.

Estendere struct prev_kprobe con un campo saved_irqflag e salvarlo/ripristinarlo insieme a kp e status. Ciò garantisce che lo stato originale delle interruzioni del kprobe esterno venga preservato durante il riutilizzo.

Questa modifica rispecchia la correzione per x86 nel commit 6a5022a56ac3 ("kprobes/x86: Allow to handle reentered kprobe on single-stepping").

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Responsabile

Linux

Prenotare

25/09/2026

Divulgazione

23/10/2026

Moderazione

accettato

EPSS

0.00000

KEV

no

Attività

molto basso

Fonti

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!