
Potenziale Integer Overflow che porta a Heap Overflow in AMD KFD.
-- CVE-2024-26817
Ho trovato una vulnerabilità di sicurezza in AMD KFD nel seguente file drivers/gpu/drm/amd/amdkfd/kfd_chardev.c, l'identificatore ioctl è AMDKFD_IOC_GET_PROCESS_APERTURES_NEW.
Nella funzione kfd_ioctl_get_process_apertures_new, i dati di args->num_of_nodes forniti dall'utente vengono moltiplicati e passati direttamente a kzalloc e questo potrebbe portare a un integer overflow su alcune piattaforme.
Ciò allocherebbe una dimensione ridotta e potrebbe corrompere l'heap subito dopo nella stessa funzione.
Nel kernel Linux, la seguente vulnerabilità è stata risolta:
amdkfd: usa calloc invece di kzalloc per evitare l'integer overflow
Questo usa calloc invece di eseguire la moltiplicazione che potrebbe causare overflow.
Il team CVE del kernel Linux ha assegnato CVE-2024-26817 a questo problema.
Corretta in 4.19.312 con il commit e6721ea845fc
Corretta in 5.4.274 con il commit 8b0564704255
Corretta in 5.10.215 con il commit fcbd99b3c733
Corretta in 5.15.155 con il commit cbac7de1d990
Corretta in 6.1.86 con il commit e6768c6737f4
Corretta in 6.6.27 con il commit 315eb3c2df7e
Corretta in 6.8.6 con il commit 0c33d1115394
Consulta https://www.kernel.org per un elenco completo delle versioni del kernel attualmente supportate dalla community del kernel.
Le versioni non affette potrebbero cambiare nel tempo man mano che le correzioni vengono backportate alle versioni precedenti del kernel supportate. La voce CVE ufficiale all'indirizzo https://cve.org/CVERecord/?id=CVE-2024-26817 verrà aggiornata se le correzioni verranno backportate; controllala per le informazioni più aggiornate su questo problema.
I file interessati da questo problema sono: drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
Il team CVE del kernel Linux consiglia di aggiornare all'ultima versione stabile del kernel per questa e molte altre correzioni di bug. Le singole modifiche non vengono mai testate da sole, ma fanno parte di una release del kernel più ampia. Il cherry-picking di singoli commit non è raccomandato né supportato dalla community del kernel Linux. Se tuttavia l'aggiornamento all'ultima release è impossibile, le singole modifiche per risolvere questo problema possono essere trovate in questi commit: https://git.kernel.org/stable/c/e6721ea845fcb93a764a92bd40f1afc0d6c69751 https://git.kernel.org/stable/c/8b0564704255c6b3c6a7188e86939f754e1577c0 https://git.kernel.org/stable/c/fcbd99b3c73309107e3be71f20dff9414df64f91 https://git.kernel.org/stable/c/cbac7de1d9901521e78cdc34e15451df3611f2ad https://git.kernel.org/stable/c/e6768c6737f4c02cba193a3339f0cc2907f0b86a https://git.kernel.org/stable/c/315eb3c2df7e4cb18e3eacfa18a53a46f2bf0ef7 https://git.kernel.org/stable/c/0c33d11153949310d76631d8f4a4736519eacd3a