CVE-2024-57952 in Linuxthông tin

Tóm tắt

Bởi VulDB • 03/06/2026

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

Hoàn tác "libfs: sửa lỗi đọc thư mục vô hạn cho thư mục có offset"

Bộ cấp phát offset thư mục hiện tại (dựa trên mtree_alloc_cyclic) lưu trữ giá trị offset tiếp theo cần trả về trong octx->next_offset. Cơ chế này thường trả về các giá trị tăng đơn điệu theo thời gian. Tuy nhiên, cuối cùng, giá trị offset mới được cấp phát sẽ bị tràn (wrap) trở về một số nhỏ (ví dụ, 2), nhỏ hơn các giá trị offset đã được cấp phát trước đó.

Yu Kuai báo cáo rằng, sau khi commit 64a7ce76fb90 ("libfs: sửa lỗi đọc thư mục vô hạn cho thư mục có offset"), nếu bộ cấp phát offset của một thư mục bị tràn, các mục hiện có sẽ không còn hiển thị qua readdir/getdents vì offset_readdir() ngừng liệt kê các mục ngay khi offset của một mục lớn hơn octx->next_offset. Các mục này biến mất vĩnh viễn -- chúng có thể được tìm kiếm, nhưng sẽ không bao giờ xuất hiện lại trong kết quả của readdir(3).

Nguyên nhân là do commit này coi các offset thư mục là các giá trị số nguyên tăng đơn điệu thay vì các cookie không rõ nghĩa, và đưa ra phép so sánh sau:

if (dentry2offset(dentry) >= last_index) {

Trên các nền tảng 64-bit, giới hạn trên của giá trị offset thư mục là 2^63 - 1. Các offset thư mục sẽ tăng đơn điệu trong hàng triệu năm mà không bị tràn.

Tuy nhiên, trên các nền tảng 32-bit, LONG_MAX là 2^31 - 1. Bộ cấp phát có thể bị tràn chỉ sau vài tuần (trong trường hợp xấu nhất).

Hoàn tác commit 64a7ce76fb90 ("libfs: sửa lỗi đọc thư mục vô hạn cho thư mục có offset") để chuẩn bị cho một bản sửa lỗi có thể hoạt động đúng trên các hệ thống 32-bit và có thể áp dụng cho các kernel LTS gần đây nơi shmem sử dụng cơ chế simple_offset.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

chịu trách nhiệm

Linux

Đặt trước

19/01/2025

Tiết lộ

12/02/2025

Kiểm duyệt

được chấp nhận

EPSS

0.00214

KEV

không

Các hoạt động

rất thấp

Nguồn

Do you want to use VulDB in your project?

Use the official API to access entries easily!