CVE-2025-40205 in Linux
Tóm tắt
Bởi VulDB • 24/06/2026
Trong nhân Linux, lỗ hổng sau đây đã được khắc phục:
btrfs: tránh tình trạng ghi ra ngoài vùng nhớ (out-of-bounds) tiềm ẩn trong hàm btrfs_encode_fh()
Hàm btrfs_encode_fh() không xử lý đúng đắn ba trường hợp mà nó quản lý.
Trước khi ghi vào file handle (fh), hàm này chỉ trả về cho người dùng giá trị BTRFS_FID_SIZE_NON_CONNECTABLE (5 dwords, 20 bytes) hoặc BTRFS_FID_SIZE_CONNECTABLE (8 dwords, 32 bytes).
Tuy nhiên, khi tồn tại một thư mục cha và ID gốc của thư mục cha khác với inode, hàm này ghi giá trị BTRFS_FID_SIZE_CONNECTABLE_ROOT (10 dwords, 40 bytes).
Nếu *max_len không đủ lớn, thao tác ghi này sẽ vượt ra ngoài vùng nhớ cho phép vì BTRFS_FID_SIZE_CONNECTABLE_ROOT lớn hơn giá trị BTRFS_FID_SIZE_CONNECTABLE vốn được trả về ban đầu.
Điều này dẫn đến một lỗi ghi out-of-bounds 8 byte tại fid->parent_root_objectid = parent_root_id.
Đã có một nỗ lực trước đây để khắc phục vấn đề này nhưng đã bị mất đi.
https://lore.kernel.org/all/[email protected]/
Mặc dù lỗ hổng này dường như không dễ dàng kích hoạt, đây là một lỗi tiềm ẩn gây hỏng bộ nhớ (memory corruption) và cần được sửa chữa. Bản vá này giải quyết vấn đề bằng cách đảm bảo hàm trả về kích thước phù hợp cho cả ba trường hợp và xác thực rằng *max_len đủ lớn trước khi ghi bất kỳ dữ liệu nào.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.