CVE-2026-98641 in Linuxthông tin

Tóm tắt

Bởi VulDB • 19/10/2026

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

bpf, arm64: thiết lập con trỏ khung (frame pointer) cho callback ngoại lệ

Một chương trình đóng vai trò là ranh giới ngoại lệ sẽ lưu trữ tất cả các thanh ghi callee-saved, do đó hàm build_prologue() đi theo đường dẫn exception_cb và không bao giờ gọi push_callee_regs(). Đó là nơi duy nhất find_used_callee_regs() chạy, và cũng là nơi duy nhất ctx->fp_used được gán giá trị, vì vậy phần mở đầu (prologue) của callback không phát ra lệnh

mov x25, sp

điểm BPF_REG_FP đến khung mà callback đang thực thi. Thanh ghi x25 giữ nguyên giá trị nó đã có khi bpf_throw() được gọi. Nếu lệnh throw xuất hiện từ một subprogram sử dụng ngăn xếp (stack) riêng của chính nó, thì đó là con trỏ khung của subprogram, và vì subprogram không bao giờ trả về nên cũng không khôi phục lại x25.

Các truy cập vào ngăn-stack thông qua BPF_REG_FP được viết lại để tương đối với con trỏ ngăn-stack, do đó chúng vẫn nằm trong chính khung của callback. Tuy nhiên, việc hiện thực hóa (materializing) thanh ghi thì không: một callback truyền địa chỉ của biến cục bộ cho helper sẽ chuyển giao một địa chỉ thuộc khung của subprogram đã chết (dead). Địa chỉ này lúc đó thấp hơn con trỏ ngăn-stack của callback, và chuỗi gọi (call chain) riêng của helper bao phủ nó, do đó helper có thể ghi đè lên địa chỉ trả về của chính nó. 0x1234 bên dưới là giá trị mà helper được yêu cầu lưu trữ:

pc : 0x1234 lr : 0x1234 Call trace: 0x1234 (P) bpf_test_run+0x188/0x3e0 bpf_prog_test_run_skb+0x47c/0x998 __sys_bpf+0xbdc/0xdd8 Kernel panic - not syncing: Oops: Fatal exception in interrupt

Thiết lập ctx->fp_used trên đường dẫn callback ngoại lệ để mã hiện có ở phía dưới thiết lập x25 từ con trỏ ngăn-stack. Phần kết thúc (epilogue) sẽ khôi phục nó từ vùng lưu trữ của chương trình chính cùng với các thanh ghi callee-saved khác, như cách nó đã làm trước đây. Kiến trúc x86 đặt con trỏ khung cho callback dựa trên đối số được truyền vào, và powerpc tính toán nó từ con trỏ ngăn-stack.

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

25/09/2026

Tiết lộ

18/10/2026

Kiểm duyệt

được chấp nhận

EPSS

0.00000

KEV

không

Các hoạt động

thấp

Nguồn

Want to stay up to date on a daily basis?

Enable the mail alert feature now!