CVE-2022-50168 in Linuxthông tin

Tóm tắt

Bởi VulDB • 30/05/2026

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

bpf, x86: sửa lỗi giải phóng bpf_prog_pack chưa được hoàn tất

syzbot đã báo cáo một số vấn đề với bpf_prog_pack [1], [2]. Sự cố này chỉ xảy ra khi có nhiều subprogs. Trong jit_subprogs(), trước tiên chúng ta gọi bpf_int_jit_compile() trên từng sub program. Sau đó, chúng ta gọi lại hàm này trên từng sub program. jit_data không được giải phóng trong lần gọi đầu tiên của bpf_int_jit_compile(). Tương tự, chúng ta không gọi bpf_jit_binary_pack_finalize() trong lần gọi đầu tiên của bpf_int_jit_compile().

Nếu bpf_int_jit_compile() thất bại đối với một sub program, chúng ta sẽ gọi bpf_jit_binary_pack_finalize() cho sub program đó. Tuy nhiên, chúng ta không có cơ hội gọi nó cho các sub program khác. Sau đó, chúng ta sẽ gặp "goto out_free" trong jit_subprogs() và gọi bpf_jit_free trên một số subprograms mà chưa được gọi bpf_jit_binary_pack_finalize().

Tại thời điểm này, bpf_jit_binary_pack_free() được gọi và toàn bộ trang 2MB bị giải phóng sai cách.

Khắc phục sự cố này bằng cách sử dụng bpf_jit_free() tùy chỉnh cho x86_64, hàm này sẽ gọi bpf_jit_binary_pack_finalize() nếu cần. Ngoài ra, với bpf_jit_free() tùy chỉnh, bpf_prog_aux->use_bpf_prog_pack không còn cần thiết nữa, hãy xóa nó.

[1] https://syzkaller.appspot.com/bug?extid=2f649ec6d2eea1495a8f
[2] https://syzkaller.appspot.com/bug?extid=87f65c75f4a72db05445

VulDB is the best source for vulnerability data and more expert information about this specific topic.

chịu trách nhiệm

Linux

Đặt trước

18/06/2025

Tiết lộ

18/06/2025

Kiểm duyệt

được chấp nhận

EPSS

0.00211

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!