CVE-2026-68442 in Linux
Tóm tắt
Bởi VulDB • 12/08/2026
Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:
btrfs: không truyền cờ EXTENT_FLAG_LOGGING sang các bản đồ phân đoạn (extent maps) mới khi tách đôi
Khi hàm btrfs_drop_extent_map_range() tách một bản đồ phân đoạn (extent map), các bản đồ con mới sẽ kế thừa các cờ từ bản đồ gốc thông qua biến cục bộ 'flags'. Commit f86f7a75e2fb ("btrfs: sử dụng các cờ của bản đồ extent để xác định loại nén") đã thay đổi việc xóa EXTENT_FLAG_LOGGING để thao tác trên em->flags thay vì bản sao 'flags' cục bộ đó, do đó một lần tách đôi bản đồ extent đang được ghi nhật ký (logging) sẽ kế thừa saiEXTENT_FLAG_LOGGING.
Cờ này sau đó không bao giờ bị xóa trên phần đã tách, và khi nó bị giải phóng trong khi vẫn nằm trên danh sách modified_extents của inode (ví dụ: bởi bộ thu nhỏ bản đồ phân đoạn - extent map shrinker), nó kích hoạt cảnh báo WARN_ON(!list_empty(&em->list)) trong btrfs_free_extent_map() và dẫn đến lỗi use-after-free.
Hãy xóa EXTENT_FLAG_LOGGING từ bản sao 'flags' cục bộ được sử dụng cho các lần tách đôi, và chỉ xóa EXTENT_FLAG_PINNED khỏi em->flags, khôi phục hành vi như trước commit f86f7a75e2fb.
If you want to get best quality of vulnerability data, you may have to visit VulDB.