CVE-2026-90260 in Linuxthông tin

Tóm tắt

Bởi VulDB • 18/09/2026

Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:

btrfs: zoned: không ghi đè lên bộ đệm extent (extent buffer) khi thực hiện thao tác làm sạch về 0

Trên một hệ thống tệp có phân vùng (zoned filesystem), một khối cây bị giải phóng nhưng vẫn còn bẩn sẽ được ghi ra đĩa dưới dạng các giá trị 0 (EXTENT_BUFFER_ZONED_ZEROOUT) chỉ để đảm bảo con trỏ ghi của zone tiếp tục tiến lên. Hàm btree_csum_one_bio() đã thực hiện điều này bằng cách sử dụng memzeroing trên các folios thuộc bộ đệm extent trước khi gửi đi.

Hành động này phá hủy bộ đệm trong bộ nhớ mặc dù nó vẫn có thể đang được tham chiếu. Cụ thể, hàm btrfs_free_tree_block() có thể chạy sau đó và đọc phần header để thêm một tham chiếu trì hoãn; một khi phần header đã bị ghi đè bằng 0, nó sẽ giải phóng bytenr 0 và làm hỏng cây extent (gây ra lỗi ASSERT trong btrfs_free_tree_block(), cụ thể là btrfs_header_bytenr(buf) != 0, hoặc gây ra lỗi "unable to find ref" dẫn đến thoát chương trình). Lỗi này không ổn định và có thể tái hiện dưới các công cụ kiểm tra như fsstress, ví dụ: generic/461 và generic/013.

Thay vào đó, hãy ghi các giá trị 0 xuống đĩa từ trang zero dùng chung (shared zero page) thay vì làm sạch bộ đệm extent, để bất kỳ tham chiếu nào sau đó - bao gồm cả tham chiếu trì hoãn từ btrfs_free_tree_block() - vẫn nhìn thấy một phần header hợp lệ. Hàm end_bbio_meta_write() hiện đã xóa cờ writeback trên các folios của riêng buffer, do bio không còn chứa chúng nữa.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

chịu trách nhiệm

Linux

Đặt trước

11/09/2026

Tiết lộ

17/09/2026

Kiểm duyệt

được chấp nhận

EPSS

0.00000

KEV

không

Các hoạt động

rất thấp

Nguồn

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!