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

الملخص

بحسب VulDB • 11/06/2026

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

configfs: إصلاح تسرب ذاكرة محتمل في دالة `configfs_create_dir()`

أبلغ kmemleak عن وجود تسريبات للذاكرة في `configfs_create_dir()`:

الكائن غير المرجع 0xffff888009f6af00 (الحجم 192): comm "modprobe"، pid 3777، jiffies 4295537735 (العمر 233.784 ثانية) تتبع المكدس: kmem_cache_alloc (mm/slub.c:3250 mm/slub.c:3256 mm/slub.c:3263 mm/slub.c:3273) new_fragment (./include/linux/slab.h:600 fs/configfs/dir.c:163) configfs_register_subsystem (fs/configfs/dir.c:1857) basic_write (drivers/hwtracing/stm/p_basic.c:14) stm_p_basic do_one_initcall (init/main.c:1296) do_init_module (kernel/module/main.c:2455) ...

الكائن غير المرجع 0xffff888003ba7180 (الحجم 96): comm "modprobe"، pid 3777، jiffies 4295537735 (العمر 233.784 ثانية) تتبع المكدس: kmem_cache_alloc (mm/slub.c:3250 mm/slub.c:3256 mm/slub.c:3263 mm/slub.c:3273) configfs_new_dirent (./include/linux/slab.h:723 fs/configfs/dir.c:194) configfs_make_dirent (fs/configfs/dir.c:248) configfs_create_dir (fs/configfs/dir.c:296) configfs_attach_group.isra.28 (fs/configfs/dir.c:816 fs/configfs/dir.c:852) configfs_register_subsystem (fs/configfs/dir.c:1881) basic_write (drivers/hwtracing/stm/p_basic.c:14) stm_p_basic do_one_initcall (init/main.c:1296) do_init_module (kernel/module/main.c:2455) ...

يعود السبب إلى أن عداد المرجع (refcount) غير صحيح في `configfs_make_dirent()`. في المرحلة الطبيعية، يتغير عداد المرجع كالتالي:

`configfs_register_subsystem()` `configfs_create_dir()` `configfs_make_dirent()` `configfs_new_dirent()` # تعيين s_count = 1 `dentry->d_fsdata = configfs_get(sd);` # s_count = 2 ... `configfs_unregister_subsystem()` `configfs_remove_dir()` `remove_dir()` `configfs_remove_dirent()` # s_count = 1 `dput()` ... *`dentry_unlink_inode()*` `configfs_d_iput()` # s_count = 0، تحرير

ومع ذلك، إذا فشلنا في `configfs_create()`:

`configfs_register_subsystem()` `configfs_create_dir()` `configfs_make_dirent()` # s_count = 2 ... `configfs_create()` # فشل ->out_remove: `configfs_remove_dirent(dentry)` `configfs_put(sd)` # s_count = 1 return PTR_ERR(inode);

لا يوجد عقدة (inode) في مسار الخطأ، لذا فإن استدعاء `configfs_d_iput()` مفقود مما يؤدي إلى تسرب

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

مسؤول

Linux

حجز

24/12/2025

إفشاء

24/12/2025

الاعتدال

تمت الموافقة

إدخال

VDB-338090

EPSS

0.00220

KEV

لا

النشاطات

منخفض

المصادر

Do you know our Splunk app?

Download it now for free!