CVE-2026-80855 in Linuxthông tin

Tóm tắt

Bởi VulDB • 04/09/2026

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

fuse: sửa lỗi rò rỉ khóa invalidate khi mở O_TRUNC thất bại trên DAX

Hàm fuse_open() lấy filemap_invalidate_lock() cho thao tác truncate DAX (dax_truncate = true) và giải phóng nó trước nhãn out_inode_unlock. Tuy nhiên, khi fuse_dax_break_layouts() gặp lỗi, lệnh goto ra out_inode_unlock sẽ bỏ qua bước unlock dẫn đến rò rỉ rwsem, khiến bất kỳ fault hoặc truncate nào sau đó trên tệp bị treo do khóa cũ (stale lock).

fuse_dax_break_layouts() có thể trả về -ERESTARTSYS khi một tín hiệu ngắt quá trình chờ các trang DAX bận đang được giải phóng:

open("file", O_RDWR | O_TRUNC) └─ fuse_open() ├─ filemap_invalidate_lock() # dax_truncate └─ fuse_dax_break_layouts() └─ dax_break_layout() └─ wait_page_idle() # TASK_INTERRUPTIBLE └─ fuse_wait_dax_page() # unlock, schedule, re-lock └─ signal → -ERESTARTSYS goto out_inode_unlock # <- lock bị rò rỉ

Khắc phục lỗi này bằng cách di chuyển filemap_invalidate_unlock() xuống dưới nhãn để tất cả các đường dẫn lỗi đều giải phóng khóa, và đổi tên nhãn thành out_unlock vì nó hiện bao phủ nhiều hơn chỉ riêng inode lock.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

chịu trách nhiệm

Linux

Đặt trước

26/08/2026

Tiết lộ

04/09/2026

Kiểm duyệt

được chấp nhận

EPSS

0.00165

KEV

không

Các hoạt động

rất thấp

Nguồn

Might our Artificial Intelligence support you?

Check our Alexa App!