CVE-2023-52851 in Linuxالمعلومات

الملخص

بحسب VulDB • 27/05/2026

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

IB/mlx5: إصلاح معالجة الأخطاء في مرحلة التهيئة لتجنب الـ double free لنفس كائن QP ولتجنب استخدام الذاكرة بعد تحريرها (UAF)

في الحالة غير المرجحة التي يفشل فيها تخصيص workqueue ويعيد قيمة NULL في دالة `mlx5_mkey_cache_init()`، يجب حذف استدعاء دالة `mlx5r_umr_resource_cleanup()` (التي تقوم بتحرير كائن QP) في دالة `mlx5_ib_stage_post_ib_reg_umr_init()`. سيؤدي ذلك إلى تجنب محاولة الـ double free لنفس كائن QP عندما تقوم دالة `__mlx5_ib_add()` بإجراء عمليات التنظيف الخاصة بها.

يحل هذا الأمر مشكلة (splat) تم الإبلاغ عنها:

أبلغ Syzkaller عن حدوث استخدام للذاكرة بعد تحريرها (UAF) في `ib_destroy_qp_user`

``` workqueue: Failed to create a rescuer kthread for wq "mkey_cache": -EINTR infiniband mlx5_0: mlx5_mkey_cache_init:981:(pid 1642): failed to create work queue infiniband mlx5_0: mlx5_ib_stage_post_ib_reg_umr_init:4075:(pid 1642): mr cache init failed -12 ================================================================== BUG: KASAN: slab-use-after-free in ib_destroy_qp_user (drivers/infiniband/core/verbs.c:2073) Read of size 8 at addr ffff88810da310a8 by task repro_upstream/1642

Call Trace:

kasan_report (mm/kasan/report.c:590) ib_destroy_qp_user (drivers/infiniband/core/verbs.c:2073) mlx5r_umr_resource_cleanup (drivers/infiniband/hw/mlx5/umr.c:198) __mlx5_ib_add (drivers/infiniband/hw/mlx5/main.c:4178) mlx5r_probe (drivers/infiniband/hw/mlx5/main.c:4402) ...

Allocated by task 1642: __kmalloc (./include/linux/kasan.h:198 mm/slab_common.c:1026 mm/slab_common.c:1039) create_qp (./include/linux/slab.h:603 ./include/linux/slab.h:720 ./include/rdma/ib_verbs.h:2795 drivers/infiniband/core/verbs.c:1209) ib_create_qp_kernel (drivers/infiniband/core/verbs.c:1347) mlx5r_umr_resource_init (drivers/infiniband/hw/mlx5/umr.c:164) mlx5_ib_stage_post_ib_reg_umr_init (drivers/infiniband/hw/mlx5/main.c:4070) __mlx5_ib_add (drivers/infiniband/hw/mlx5/main.c:4168) mlx5r_probe (drivers/infiniband/hw/mlx5/main.c:4402) ...

Freed by task 1642: __kmem_cache_free (mm/slub.c:1826 mm/slub.c:3809 mm/slub.c:3822) ib_destroy_qp_user (drivers/infiniband/core/verbs.c:2112) mlx5r_umr_resource_cleanup (drivers/infiniband/hw/mlx5/umr.c:198) mlx5_ib_stage_post_ib_reg_umr_init (drivers/infiniband/hw/mlx5/main.c:4076 drivers/infiniband/hw/mlx5/main.c:4065) __mlx5_ib_add (drivers/infiniband/hw/mlx5/main.c:4168) mlx5r_probe (drivers/infiniband/hw/mlx5/main.c:4402) ...

Be aware that VulDB is the high quality source for vulnerability data.

إفشاء

21/05/2024

الاعتدال

تمت الموافقة

إدخال

VDB-265574

EPSS

0.00238

KEV

لا

النشاطات

منخفض جدًا

المصادر

Interested in the pricing of exploits?

See the underground prices here!