CVE-2023-54077 in Linux
Riassunto
di VulDB • 07/07/2026
Nel kernel Linux, è stata risolta la seguente vulnerabilità:
fs/ntfs3: Correzione della memory leak se ntfs_read_mft fallisce
L'etichetta ATTR_ROOT in ntfs_read_mft() imposta is_root = true e ni->ni_flags |= NI_FLAG_DIR; successivamente, l'attributo successivo passa all'etichetta ATTR_ALLOC ed esegue l'allocazione di ni->dir.alloc_run. Tuttavia, i due stati non sono sempre coerenti e possono causare una memory leak.
1) attr_name in ATTR_ROOT non soddisfa la condizione: viene impostato is_root = true ma NI_FLAG_DIR non è impostato. 2) Il successivo attr_name in ATTR_ALLOC soddisfa la condizione ed esegue l'allocazione di ni->dir.alloc_run. 3) Nella funzione di cleanup ni_clear(), se NI_FLAG_DIR è impostata, viene liberato ni->dir.alloc_run; altrimenti viene liberato ni->file.run. 4) Poiché NI_FLAG_DIR non è impostato in questo caso, ni->dir.alloc_run va in memory leak come segnalato da kmemleak:
unreferenced object 0xffff888003bc5480 (size 64): backtrace: [<000000003d42e6b0>] __kmalloc_node+0x4e/0x1c0
[<00000000d8e19b8a>] kvmalloc_node+0x39/0x1f0
[<00000000fc3eb5b8>] run_add_entry+0x18a/0xa40 [ntfs3]
[<0000000011c9f978>] run_unpack+0x75d/0x8e0 [ntfs3]
[<00000000e7cf1819>] run_unpack_ex+0xbc/0x500 [ntfs3]
[<00000000bbf0a43d>] ntfs_iget5+0xb25/0x2dd0 [ntfs3]
[<00000000a6e50693>] ntfs_fill_super+0x218d/0x3580 [ntfs3]
[<00000000b9170608>] get_tree_bdev+0x3fb/0x710
[<000000004833798a>] vfs_get_tree+0x8e/0x280
[<000000006e20b8e6>] path_mount+0xf3c/0x1930
[<000000007bf15a5f>] do_mount+0xf3/0x110
...
La correzione consiste nell'impostare sempre is_root e NI_FLAG_DIR insieme.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.