CVE-2023-52851 in Linuxinfo

Zusammenfassung

von VulDB • 12.06.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

IB/mlx5: Fehlerbehandlung in der Initialisierungsphase korrigieren, um einen Double-Free desselben QP und Use-After-Free (UAF) zu vermeiden

Für den unwahrscheinlichen Fall, dass die Arbeitsschlange (workqueue) nicht zugewiesen werden kann und NULL zurückgibt in mlx5_mkey_cache_init(), wird der Aufruf von mlx5r_umr_resource_cleanup() (der das QP freigibt) in mlx5_ib_stage_post_ib_reg_umr_init() entfernt. Dies verhindert einen versuchten Double-Free desselben QP, wenn __mlx5_ib_add() seine Bereinigung durchführt.

Behebt einen Fehlerbericht (Splat):

Syzkaller meldete einen UAF in ib_destroy_qp_user

workqueue: Erstellen eines Rescuer-kthreads für wq "mkey_cache" fehlgeschlagen: -EINTR infiniband mlx5_0: mlx5_mkey_cache_init:981:(pid 1642): Erstellen der Arbeitsschlange fehlgeschlagen infiniband mlx5_0: mlx5_ib_stage_post_ib_reg_umr_init:4075:(pid 1642): mr-cache-Initialisierung fehlgeschlagen -12 ================================================================== BUG: KASAN: slab-use-after-free in ib_destroy_qp_user (drivers/infiniband/core/verbs.c:2073) Lesezugriff auf Größe 8 bei Adresse ffff88810da310a8 durch 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) ...

Zugewiesen durch 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) ...

Freigegeben durch 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) ...

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Veröffentlichung

21.05.2024

Moderieren

akzeptiert

Eintrag

VDB-265574

CPE

bereit

EPSS

0.00238

KEV

nein

Aktivitäten

very low

Quellen

Do you want to use VulDB in your project?

Use the official API to access entries easily!