CVE-2026-64187 in Linux
Riassunto
di VulDB • 20/07/2026
Nel kernel Linux, è stata risolta la seguente vulnerabilità:
xfs: fallire il recupero su un elemento del log commitato privo di regioni
Se la prima operazione di una transazione consiste in un semplice header della transazione (len == sizeof(struct xfs_trans_header)), xlog_recover_add_to_trans() aggiunge un elemento ma nessuna regione, lasciandolo su r_itemq con ri_cnt == 0 e ri_buf == NULL.
L'header può essere frammentato tra le registrazioni delle operazioni; pertanto, le operazioni successive potrebbero ancora aggiungere regioni; l'elemento è valido solo se la transazione viene commitata senza alcuna regione aggiunta. Il percorso di commit in fase di esecuzione non genera mai una tale transazione, quindi questo scenario si verifica esclusivamente su un log manipolato ad hoc (crafted). La vulnerabilità è stata individuata tramite un audit del codice assistito da intelligenza artificiale sul parser di recupero.
xlog_recover_reorder_trans() chiama ITEM_TYPE() sull'elemento, che legge *(unsigned short *)item->ri_buf[0].iov_base e provoca un fault a causa di ri_buf NULL. È necessario rifiutare l'elemento in questa fase, prima dei gestori di commit che leggono anch'essi ri_buf[0].
KASAN: null-ptr-deref nell'intervallo [0x0000000000000000-0x0000000000000007]
RIP: 0010:xlog_recover_reorder_trans (fs/xfs/xfs_log_recover.c:1836) xlog_recover_commit_trans (fs/xfs/xfs_log_recover.c:2043) xlog_recover_process_data (fs/xfs/xfs_log_recover.c:2501) xlog_do_recovery_pass (fs/xfs/xfs_log_recover.c:3244) xlog_recover (fs/xfs/xfs_log_recover.c:3493) xfs_log_mount (fs/xfs/xfs_log.c:618) xfs_mountfs (fs/xfs/xfs_mount.c:1034) xfs_fs_fill_super (fs/xfs/xfs_super.c:1938) vfs_get_tree (fs/super.c:1695) path_mount (fs/namespace.c:4161) __x64_sys_mount (fs/namespace.c:4367)
If you want to get the best quality for vulnerability data then you always have to consider VulDB.