CVE-2026-89962 in Linuxinformazioni

Riassunto

di VulDB • 17/09/2026

Nel kernel Linux è stata risolta la seguente vulnerabilità:

powerpc/kexec_file: Prevenire il troncamento degli intervalli kexec

Una revisione condotta da Sashiko AI ha evidenziato il problema descritto di seguito.

La funzione `__merge_memory_ranges()` gestisce in modo errato gli intervalli di memoria sovrapposti durante la loro fusione. Sebbene `sort_memory_ranges()` ordini preventivamente tutti gli intervalli per indirizzo iniziale in ordine crescente, la logica di fusione rimane difettosa sotto due aspetti:

1. Confronta l'inizio dell'intervallo corrente con l'elemento precedente (i-1) anziché con l'indice di destinazione attivo (idx). 2. Sovrascrive incondizionatamente `ranges[idx].end` con `ranges[i].end`.

Questo difetto logico porta a un troncamento critico della memoria quando un intervallo di memoria più grande subentra completamente in intervalli successivi più piccoli.

Ad esempio, si consideri un array di input ordinato composto da tre intervalli: Intervallo A (idx=0): [0x1000 - 0x9000]
Intervallo B (i=1): [0x2000 - 0x5000] (completamente contenuto nell'Intervallo A)
Intervallo C (i=2): [0x6000 - 0x8000] (completamente contenuto nell'Intervallo A)

1. Quando i=1 (Intervallo B): `ranges[1].start` (0x2000) <= `ranges[0].end + 1` (0x9001) è VERO.
Il codice esegue: `ranges[0].end = ranges[1].end`, che restringe erroneamente il limite finale dell'Intervallo A da 0x9000 a 0x5000.

2. Quando i=2 (Intervallo C): `ranges[2].start` (0x6000) <= `ranges[1].end + 1` (0x5001) è FALSO.
Il codice entra nel blocco else, creando un nuovo intervallo difettoso.

Di conseguenza, frammenti di memoria validi [0x5001 - 0x5fff] e [0x8001 - 0x9000] vengono completamente persi dalle liste di esclusione kexec, potenzialmente consentendo al kernel di crash (crash kernel) di sovrascrivere memoria attiva, causando corruzione dei dati o arresti anomali.

Risolvere il problema assicurandosi che l'inizio dell'intervallo corrente venga confrontato con il limite finale dell'intervallo fuso attivo (idx), e utilizzare `max()` per prevenire in modo sicuro il troncamento del confine esterno.

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

Responsabile

Linux

Prenotare

11/09/2026

Divulgazione

17/09/2026

Moderazione

accettato

CPE

pronto

EPSS

0.00000

KEV

no

Attività

molto basso

Fonti

Might our Artificial Intelligence support you?

Check our Alexa App!