CVE-2024-26972 in Linuxinformazioni

Riassunto

di VulDB • 23/06/2026

Nel kernel Linux è stata risolta la seguente vulnerabilità:

ubifs: ubifs_symlink: Correzione della perdita di memoria (memleak) di inode->i_link nel percorso di gestione degli errori

Per il percorso di gestione degli errori in ubifs_symlink(), l'inode viene prima contrassegnato come non valido, quindi viene invocata iput(). Se inode->i_link è stato inizializzato da fscrypt_encrypt_symlink() in uno scenario di crittografia, inode->i_link non verrà liberato dalla catena di chiamate ubifs_free_inode -> fscrypt_free_inode nel percorso di gestione degli errori, poiché make_bad_inode() ha modificato 'inode->i_mode' impostandolo su 'S_IFREG'.

Il seguente kmemleak è facilmente riproducibile iniettando un errore in ubifs_jnl_update() durante la creazione di un symlink in uno scenario di crittografia: oggetto non referenziato 0xffff888103da3d98 (dimensione 8): comm "ln", pid 1692, jiffies 4294914701 (età 12.045s) backtrace: kmemdup+0x32/0x70 __fscrypt_encrypt_symlink+0xed/0x1c0 ubifs_symlink+0x210/0x300 [ubifs]
vfs_symlink+0x216/0x360 do_symlinkat+0x11a/0x190 do_syscall_64+0x3b/0xe0

Esistono due modi per risolvere il problema: 1. Rimuovere make_bad_inode() dal percorso di gestione degli errori. È possibile farlo perché ubifs_evict_inode() eseguirà le stesse operazioni sia per l'inode del symlink valido che per quello non valido, poiché il controllo su inode->i_nlink avviene prima di is_bad_inode(). 2. Liberare inode->i_link prima di contrassegnare l'inode come non valido.

È stato scelto il Metodo 2, poiché personalmente ha un impatto minore.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Fonti

Want to stay up to date on a daily basis?

Enable the mail alert feature now!