CVE-2025-0927: Lỗ hổng tràn bộ nhớ nghiêm trọng trong Linux Kernel gây sập hệ thống và thực thi mã từ xa

Tổng quan
Gần đây một lỗ hổng nghiêm trọng đã được phát hiện trong Linux Kernel và đặc biệt ảnh hưởng đến người dùng Ubuntu 22.04. Lỗ hổng với mã định danh là: CVE-2025-0927 được biết đến với khả năng gây tràn bộ nhớ heap được phát hiện trong trình điều khiển hệ thống tệp HFS+ của Linux Kernel. Lỗ hổng này cho phép kẻ tấn công sử dụng một hình ảnh hệ thống tệp được tạo đặc biệt, khi được gắn kết, có thể gây ra từ chối dịch vụ (sập hệ thống) hoặc thậm chí thực thi mã tùy ý.
Chi tiết lỗ hổng
Mã lỗ hổng: CVE-2025-0927.
Điểm CVSS: 8.8/10 cho thấy được mức độ nghiêm trọng cao.
Phạm vi ảnh hưởng: Các phiên bản nhân Linux từ 2.6.12-rc2 đến 6.12.0. Đặc biệt, Ubuntu 22.04 với nhân Linux 6.5.0-18-generic đã được xác nhận là dễ bị tấn công.
Cơ chế tấn công: Lỗ hổng tồn tại trong quá trình xử lý các nút B-tree của hệ thống tệp HFS+. Cụ thể, thiếu kiểm tra độ dài khóa trong hàm
hfs_bnode_read_keydẫn đến tràn bộ nhớ heap.Hậu quả:
Hệ thống bị sập hoặc treo.
Chiếm quyền root và thực thi mã độc.
Rò rỉ dữ liệu hoặc mất toàn quyền kiểm soát hệ thống.
Cách thức khai thác
Lỗ hổng nằm ở đâu?
Lỗ hổng chính là ở dòng đọc dữ liệu với
key_lenkhông được kiểm tra giới hạn, đặc biệt là khikey_lenđến từhfs_bnode_read_u16()– tức là đến từ nội dung của file image HFS+ do attacker kiểm soát.Tại đây attacker sẽ thực hiện tạo một image HFS+ giả mạo có định dạng hợp lệ nhưng chứa các record extent được thiết kế đặc biệt để vượt kích thước vùng đệm hợp pháp.

- Trong Linux Kernel tồn tại một hàm
hfs_brec_keylen()nhằm xác định độ dài key, có kiểm tra giới hạn. Tuy nhiên những kẻ tấn công sẽ lợi dụng chính hàm trên để thực hiện copy dữ liệu lớn gây ra tràn bộ nhớ head

Tạo image HFS+ giả mạo
- Những kẻ tấn công sẽ sử dụng công cụ tạo hệ thống tập tin HFS+ (từ gói
hfsprogs)
- Những kẻ tấn công sẽ sử dụng công cụ tạo hệ thống tập tin HFS+ (từ gói


Mount image trên máy mục tiêu
Sau khi đã tạo được một image HFS+ độc hại, kẻ tấn công sẽ dùng lệnh sau để tiến hành mount vào máy nạn nhận
sudo mount -t hfsplus exploit.img /mnt/hfsHoặc lợi dụng hệ thống automount (gắn vào USB hoặc đưa vào môi trường CI)
Trigger lỗi
- Khi Kernel thực hiện đọc node dẫn đến
key_lenlớn bất thường, từ đó tin tặc sẽ thực hiện copy vào heap gây ra overflow
- Khi Kernel thực hiện đọc node dẫn đến

Nếu vùng nhớ có bố cục dự đoán được từ đó kẻ tấn công có thể:
Ghi đè pointer, hàm và thực thi mã kernel
Gây từ chối dịch vụ (DoS) qua crash
Ảnh hưởng chi tiết
- Khi mount image HFS+ chứa dữ liệu độc, kernel có thể crash (panic) gây treo máy.
Nếu kẻ tấn công kiểm soát được heap layout (qua heap spraying hoặc chuẩn hóa môi trường), có thể dẫn tới thực thi mã trong kernel.
Nếu container được cấp quyền mount loop hoặc mount image HFS+, attacker có thể thoát khỏi container.
Hệ thống CI chạy test với image
.imgcó thể bị crash toàn bộ hoặc bị khai thác mã độc kernel.Trên desktop Linux như Ubuntu, Fedora… người dùng chỉ cần click đúp vào
.imgHFS+ độc để trigger khai thác.
Khuyến nghị
Cập nhật Kernel càng sớm càng tốt
sudo apt update
sudo apt upgrade
sudo reboot
Vô hiệu hóa hỗ trợ hệ thống tệp HFS+ nếu không cần thiết
Tạm thời (cho đến khi khởi động lại)
- sudo modprobe -r hfsplus
Vĩnh viễn (không tải mô-đun khi khởi động)
Thêm dòng sau vào
/etc/modprobe.d/blacklist.conf:blacklist hfsplus
Chặn gắn kết hệ thống tệp HFS+ từ người dùng không đặc quyền
Tắt tính năng tự động gắn kết thiết bị HFS+ trên hệ thống desktop hoặc server.
Không cấp quyền
mountcho người dùng không thuộc root hoặc nhóm quản trị.
Kiểm tra hệ thống có image HFS+ đáng ngờ
Giám sát và Log bảo mật
Kết luận
CVE-2025-0927 là lỗ hổng nghiêm trọng vì ảnh hưởng đến tầng kernel, dễ khai thác, và tồn tại trong một tính năng hiếm khi được giám sát – hệ thống tập tin HFS+.Trên Ubuntu, cả phiên bản Desktop và Server đều có quy tắc polkit mặc định cho phép người dùng có phiên làm việc cục bộ tạo thiết bị loop và gắn kết nhiều hệ thống tệp khối khác nhau. Điều này vô hiệu hóa hạn chế CAP_SYS_ADMIN, cho phép người dùng bình thường cũng có thể khai thác lỗ hổng.






