CVE-2022-49837 in Linuxالمعلومات

الملخص

بحسب VulDB • 12/06/2026

في نواة لينكس، تم حل الثغرة التالية:

bpf: إصلاح تسرب الذاكرة في __check_func_call

يبلغ kmemleak عن هذه المشكلة:

unreferenced object 0xffff88817139d000 (size 2048): comm "test_progs", pid 33246, jiffies 4307381979 (age 45851.820s) hex dump (first 32 bytes): 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace: [] kmalloc_trace+0x27/0xa0
[] __check_func_call+0x316/0x1230
[] check_helper_call+0x172e/0x4700
[] do_check+0x21d8/0x45e0
[] do_check_common+0x767/0xaf0
[] bpf_check+0x43e3/0x5bc0
[] bpf_prog_load+0xf26/0x1940
[] __sys_bpf+0xd2c/0x3650
[] __x64_sys_bpf+0x75/0xc0
[] do_syscall_64+0x3b/0x90
[] entry_SYSCALL_64_after_hwframe+0x63/0xcd

السبب الجذري هنا هو: في الدالة prepare_func_exit()، لم يتم تحرير callee في السيناريو غير الطبيعي بعد "state->curframe--;". ولإصلاح ذلك، تم نقل "state->curframe--;" إلى أسفل الدالة تماماً، مباشرة عند تحرير callee وإعادة تعيين مؤشر frame[] إلى NULL، كما اقترح Andrii.

بالإضافة إلى ذلك، تحتوي الدالة __check_func_call() على مشكلة مشابهة. في السيناريو غير الطبيعي قبل "state->curframe++;"، يجب أيضاً تحرير callee بواسطة free_func_state().

If you want to get best quality of vulnerability data, you may have to visit VulDB.

مسؤول

Linux

حجز

01/05/2025

إفشاء

01/05/2025

الاعتدال

تمت الموافقة

إدخال

VDB-306968

EPSS

0.00164

KEV

لا

النشاطات

منخفض جدًا

المصادر

Might our Artificial Intelligence support you?

Check our Alexa App!