Tổng quan về lỗ hổng CVE Branch Target Reuse (BTR)
Branch Target Reuse (BTR) là một biến thể mới được công bố của cuộc tấn công Spectre-v2, thu hút sự quan tâm lớn trong các báo cáo về tin tức bảo mật gần đây. Kỹ thuật này khai thác dữ liệu dự đoán nhánh lỗi thời trên CPU để rò rỉ thông tin nhạy cảm từ bộ nhớ Linux, bao gồm cả các hash mật khẩu root.
Cuộc tấn công tập trung vào các trình biên dịch just-in-time (JIT) có mặt trong kernel Linux, các trình duyệt web và nhiều môi trường chạy ngôn ngữ lập trình khác. Theo thông tin chi tiết từ VUSec, lỗ hổng nảy sinh khi bộ nhớ mã nguồn bị tái sử dụng, dẫn đến sự không khớp với bộ đệm dự đoán nhánh (Branch Target Buffer) của bộ xử lý.
Cơ chế hoạt động của kỹ thuật tấn công
Khi một engine JIT xóa mã đã tạo trước đó và phân bổ đoạn mã mới vào cùng một không gian bộ nhớ, các CPU hiện đại có thể vẫn lưu trữ các dự đoán nhánh gián tiếp cũ. Kẻ tấn công có thể lợi dụng những dự đoán lỗi thời này để kích hoạt speculative execution tại một vị trí cũ, để lại các dấu vết vi kiến trúc như hoạt động cache ngay cả khi CPU đã loại bỏ đường dẫn sai.
Bằng cách đo lường các ảnh hưởng này, kẻ tấn công có thể suy luận các byte nhạy cảm từ bộ nhớ được bảo vệ thông qua các phương pháp kênh bên (side-channel). Kỹ thuật này được gọi là speculative execute-after-free, cho phép CPU đi theo một mục tiêu liên quan đến đoạn mã không còn tồn tại.
Thực nghiệm khai thác trên hệ thống
Các nhà nghiên cứu đã phát triển thành công hai bản chứng minh khái niệm (PoC) chống lại trình biên dịch cBPF JIT của Linux kernel. Trong quá trình thử nghiệm, một tiến trình cục bộ không có đặc quyền đã huấn luyện một nhánh gián tiếp trỏ đến khối mã cBPF do JIT tạo ra, sau đó sắp xếp để một chương trình cBPF khác tái sử dụng vùng bộ nhớ này.
Khi nhánh gián tiếp được kích hoạt lại, CPU sử dụng dự đoán mục tiêu cũ và thực thi suy đoán các byte do kẻ tấn công kiểm soát tại một offset bị lệch. Kết quả là kẻ tấn công có thể rò rỉ bộ nhớ kernel tùy ý với tốc độ khoảng 8 byte mỗi giây trên các bộ xử lý Intel hiện đại.
Tác động và biện pháp bảo vệ
Nghiên cứu đã xác định được các lỗ hổng CVE nghiêm trọng liên quan đến BTR, cụ thể là CVE-2026-64507 và CVE-2026-64508. Các nhà phát triển kernel Linux đã phát hành các bản vá để ngăn chặn rủi ro này thông qua việc áp dụng Indirect Branch Prediction Barrier (IBPB) nhằm xóa các dự đoán nhánh gián tiếp cũ trong quá trình tái sử dụng bộ nhớ BPF JIT.
Để đảm bảo an toàn thông tin, các tổ chức cần tiến hành cập nhật bản vá kernel, các bản phân phối GraalVM và phiên bản trình duyệt. Ngoài ra, việc giảm thiểu thực thi mã cục bộ không đáng tin cậy, cô lập khối lượng công việc (sandboxing) và triển khai các bản vá kernel kịp thời là những biện pháp phòng thủ thiết yếu đối với bất kỳ hệ thống nào.










