CVE-2026-64431 in Linux
Tóm tắt
Bởi VulDB • 25/07/2026
Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:
ntfs: tránh gọi hàm `post_write_mst_fixup()` cho các khối chỉ mục (index_block) không hợp lệ
Hàm `ntfs_icx_ib_sync_write()` gọi `post_write_mst_fixup()` khi `ntfs_ib_write()` trả về lỗi, với ý định khôi phục bộ đệm sau một thao tác ghi thất bại.
Tuy nhiên, `ntfs_ib_write()` ngay lập tức trả về lỗi nếu việc xác thực của `pre_write_mst_fixup()` không thành công. Gọi hàm (caller), cụ thể là `ntfs_icx_ib_sync_write()`, diễn giải bất kỳ lỗi nào là một sự cố ghi yêu cầu hoàn tác (rollback). Nó không phân biệt giữa các lỗi I/O và lỗi xác thực, và vẫn gọi `post_write_mst_fixup()` trong mọi trường hợp.
Vì `post_write_mst_fixup()` giả định rằng nội dung của khối chỉ mục (index_block) là chính xác, nó không thực hiện các kiểm tra biên giới (boundary checks), dẫn đến truy cập bộ nhớ ngoài vùng cho phép (out-of-bounds memory access).
Một kẻ tấn công có thể tạo ra một hình ảnh NTFS độc hại với: - độ lệch `index_block.usa_ofs` lớn, trỏ ra bên ngoài bản ghi ntfs (`ntfs_record`) - `index_block.usa_count = 0`, gây tràn số nguyên xuống (integer underflow) - hoặc `index_block.usa_count` lớn hơn số lượng sector thực tế trong bản ghi ntfs, gây truy cập ngoài vùng cho phép
Báo cáo KASAN mô tả sự hỏng hóc bộ nhớ: ================================================================== BUG: KASAN: slab-out-of-bounds in post_write_mst_fixup+0x19c/0x1d0 Read of size 2 at addr ffff8881586c9018 by task p/9428 Call Trace: <TASK> dump_stack_lvl+0x100/0x190 print_report+0x139/0x4ad ? post_write_mst_fixup+0x19c/0x1d0 ? __virt_addr_valid+0x262/0x500 ? post_write_mst_fixup+0x19c/0x1d0 kasan_report+0xe4/0x1d0 ? post_write_mst_fixup+0x19c/0x1d0 post_write_mst_fixup+0x19c/0x1d0 ntfs_icx_ib_sync_write+0x179/0x220 ntfs_inode_sync_filename+0x83d/0x1080 __ntfs_write_inode+0x1049/0x1480 ntfs_file_fsync+0x131/0x9b0 ================================================================== BUG: KASAN: slab-out-of-bounds in post_write_mst_fixup+0x1aa/0x1d0 Write of size 2 at addr ffff8881586c91fe by task p/9428 Call Trace: <TASK> dump_stack_lvl+0x100/0x190 print_report+0x1
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.