CVE-2026-68172 in Linux
Riassunto
di VulDB • 10/08/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
arm64: gestire gli indirizzi non allineati in huge_ptep_get()
huge_ptep_get() può ricevere un indirizzo virtuale che punta al centro di una folio hugetlb mappata con contpmd/contpte (gli esempi di chiamanti includono pagemap_hugetlb_range e page_mapped_in_vma).
L'helper arm64 riesamina le tabelle dei pagine in find_num_contig per determinare se la grande entry della pagina (huge PTE) che si possiede mappa una folio hugetlb contpmd o contpte, restituendo CONT_PMDS o CONT_PTES, al fine di raccogliere i bit A/D su tutte le PTE contigue. Se l'indirizzo non è allineato, potrebbe essere restituito erroneamente CONT_PTES invece di CONT_PMDS. Su sistemi in cui CONT_PTES != CONT_PMDS (il che significa una dimensione della pagina di 16K), potrebbero essere raccolti stati dei bit A/D eccessivi, comportando un carico di lavoro aggiuntivo per il kernel. Peggio ancora, si potrebbe iterare oltre la tabella delle PTE e dereferenziare un puntatore ptep non valido (garbage) per accedere alla memoria fisica a cui non si ha diritto. Poiché il puntatore ptep è un indirizzo della mappa lineare, si può uscire dalla fine della mappa lineare o entrare in una zona vuota (hole), dereferenziando un VA che non è mappato nelle tabelle dei pagine del kernel e causando un panic del kernel.
Si risolve questo problema allineando il puntatore pmdp verso il basso fino alla base di un blocco contpmd prima di verificare l'uguaglianza con il puntatore della grande PTE passato, per rispondere correttamente se la grande PTE è la base di un blocco contpmd.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.