Nghiêm trọng: Lỗ hổng CVE-2025-29970 nguy hiểm trên Windows

Microsoft đã phát hành bản vá cho một lỗ hổng use-after-free nghiêm trọng trong trình điều khiển Brokering File System (BFS), được định danh là CVE-2025-29970. Lỗi này cho phép kẻ tấn công cục bộ (local attackers) leo thang đặc quyền trên các hệ thống Windows chạy ứng dụng bị cô lập (isolated) hoặc trong môi trường sandbox, đặt ra mối quan ngại đáng kể cho an ninh mạng doanh nghiệp.
Tổng quan về Lỗ hổng CVE-2025-29970
Lỗ hổng CVE-2025-29970 tồn tại trong bfs.sys, một trình điều khiển minifilter được phát triển cùng với Windows AppContainer và AppSilo. Đây là các cơ chế sandbox của Microsoft dùng để cô lập các ứng dụng Win32.
Cơ chế hoạt động của BFS Driver
BFS chịu trách nhiệm quản lý các hoạt động liên quan đến tệp (file), đường ống (pipe) và registry từ các ứng dụng bị cô lập. Điều này khiến nó trở thành mục tiêu hấp dẫn cho các cuộc tấn công leo thang đặc quyền.
Các ứng dụng được chạy trong môi trường sandbox của Windows sử dụng BFS để tương tác an toàn với hệ thống chính. Bất kỳ lỗ hổng nào trong BFS đều có thể phá vỡ ranh giới bảo mật này.
Phân tích kỹ thuật Lỗi Use-After-Free
Nguyên nhân gốc rễ của lỗ hổng CVE-2025-29970 nằm ở việc quản lý bộ nhớ không đúng cách trong logic giải phóng bộ nhớ của DirectoryBlockList của BFS.
Cụ thể, mã nguồn dễ bị tấn công sẽ giải phóng phần đầu của danh sách liên kết (linked-list head) trong khi vẫn đang lặp qua các mục còn lại trong cùng một vòng lặp. Điều này tạo ra một tình trạng use-after-free kinh điển.
Tình trạng này được kích hoạt khi các mục chính sách (policy entries) bị xóa thông qua yêu cầu IOCTL BfsProcessDeletePolicyEntryRequest. Việc này cho phép kẻ tấn công thao túng các cấu trúc bộ nhớ đã được giải phóng.
Nhóm nghiên cứu bảo mật HT3Labs đã phát hiện và ghi nhận lỗ hổng này, ảnh hưởng đến phiên bản bfs.sys 26100.4061.
Quy trình khai thác lỗ hổng CVE-2025-29970
Việc khai thác thành công lỗ hổng CVE-2025-29970 đòi hỏi những điều kiện cụ thể. Kẻ tấn công phải mạo danh một tiến trình phù hợp với khả năng token của AppSilo.
Tiếp theo, kẻ tấn công cần tạo các mục chính sách trong hệ thống và lặp lại các thao tác xóa để buộc bộ nhớ đã giải phóng được phục hồi (reclamation).
Thử nghiệm cho thấy rằng chỉ các tiến trình có mức độ toàn vẹn trung bình (Medium Integrity Level processes) mới có thể truy cập thiết bị BFS. Điều này giới hạn phạm vi khai thác nhưng không loại trừ hoàn toàn rủi ro.
Chuỗi tấn công bao gồm các bước sau:
- Mạo danh một token có mức độ bảo mật thấp (low-box token).
- Tạo các tệp tạm thời trong các thư mục ứng dụng bị cô lập.
- Thực hiện các chu kỳ thêm-xóa dựa trên IOCTL một cách nhanh chóng.
Mặc dù không quan sát thấy sự cố hệ thống ngay lập tức do các mẫu cấp phát bộ nhớ, việc khai thác liên tục đã kích hoạt một lỗi hệ thống nghiêm trọng (0x00000050) trong bfs.sys một cách đáng tin cậy.
Ảnh hưởng và Biện pháp Khắc phục
Lỗ hổng CVE-2025-29970 gây ra mối đe dọa đáng kể cho các hệ thống sử dụng tính năng sandbox của Windows. Đặc biệt là các doanh nghiệp triển khai các ứng dụng bị cô lập để tăng cường bảo mật thông tin.
Bản vá của Microsoft
Microsoft đã tách vòng lặp giải phóng bộ nhớ thành một chức năng riêng biệt, BfsCloseRootDirectory, trong bản vá. Điều này đảm bảo rằng phần đầu của danh sách chỉ được giải phóng sau khi tất cả các mục đã được xử lý.
Bản vá này nhằm sửa chữa triệt để nguyên nhân gốc rễ của lỗ hổng use-after-free, ngăn chặn kẻ tấn công thao túng bộ nhớ đã được giải phóng.
Khuyến nghị Bảo mật
Microsoft đã phát hành các bản vá vào tháng 1 năm 2025. Các tổ chức nên ưu tiên áp dụng chúng ngay lập tức để bảo vệ hệ thống khỏi lỗ hổng CVE-2025-29970.
Các nhóm bảo mật cần theo dõi các nỗ lực khai thác nhắm vào các tiến trình có mức độ toàn vẹn trung bình. Hãy cân nhắc hạn chế thực thi các ứng dụng không đáng tin cậy trong môi trường sandbox cho đến khi bản vá được triển khai đầy đủ.
Theo PixiePointSecurity, phát hiện này cho thấy ngay cả các trình điều khiển bảo mật chuyên biệt cũng có thể mắc phải các lỗi quản lý bộ nhớ tinh vi. Điều này củng cố sự cần thiết phải đánh giá an toàn thông tin liên tục đối với các thành phần nhân của Windows. Bạn có thể tìm hiểu thêm về phân tích của họ tại đây.









