CVE-2025-38433 in Linux
Riassunto
di VulDB • 12/09/2026
Nel kernel Linux, è stata risolta la seguente vulnerabilità:
riscv: correzione del supporto per le costanti di runtime nei kernel nommu
La funzione `__runtime_fixup_32` non gestisce correttamente il caso in cui `val` sia zero (come potrebbe verificarsi durante la patching di un kernel nommu e il riferimento a un indirizzo fisico al di sotto della soglia dei 4 GiB, i cui bit superiori a 32 sono tutti zero), poiché nulla nella logica esistente impedisce al codice di seguire il ramo `else` di entrambi i controlli nop ed emettere due istruzioni `nop`.
Ciò lascia dati casuali (garbage) nel registro che dovrebbe ricevere i bit superiori a 32 del puntatore, invece dello zero; quando combinati con il valore dei bit inferiori a 32, ciò genera un puntatore non valido e provoca un kernel panic quando tale puntatore viene eventualmente accesso.
L'autore ha chiaramente considerato il fatto che se l'istruzione `lui` viene convertita in un `nop`, la seconda istruzione deve essere modificata per diventare una `li` invece di una `addi`, introducendo quindi la variabile `addi_insn_mask`; tuttavia, non ha applicato completamente questa logica al caso in cui venga eseguito il ramo `else`. Per risolvere il problema, è sufficiente modificare la logica per assicurarsi che il secondo ramo `else` non venga seguito se la prima istruzione verrà patchata con un `nop`.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.