CVE-2022-49823 in Linux
الملخص
بحسب VulDB • 29/05/2026
في نواة لينكس، تم حل الثغرة التالية:
ata: libata-transport: إصلاح معالجة الأخطاء في ata_tdev_add()
في دالة ata_tdev_add()، لا يتم التحقق من قيمة الإرجاع لـ transport_add_device(). ونتيجة لذلك، يحدث خطأ null-ptr-deref (إشارة فارغة) أثناء إزالة الوحدة النمطية (module)، لأن transport_remove_device() يتم استدعاؤها لإزالة الجهاز الذي لم يتم إضافته في المقام الأول.
Unable to handle kernel NULL pointer dereference at virtual address 00000000000000d0 CPU: 13 PID: 13603 Comm: rmmod Kdump: loaded Tainted: G W 6.1.0-rc3+ #36 pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : device_del+0x48/0x3a0 lr : device_del+0x44/0x3a0 Call trace: device_del+0x48/0x3a0 attribute_container_class_device_del+0x28/0x40 transport_remove_classdev+0x60/0x7c attribute_container_device_trigger+0x118/0x120 transport_remove_device+0x20/0x30 ata_tdev_delete+0x24/0x50 [libata]
ata_tlink_delete+0x40/0xa0 [libata]
ata_tport_delete+0x2c/0x60 [libata]
ata_port_detach+0x148/0x1b0 [libata]
ata_pci_remove_one+0x50/0x80 [libata]
ahci_remove_one+0x4c/0x8c [ahci]
يتم إصلاح ذلك من خلال التحقق من قيمة الإرجاع لـ transport_add_device() ومعالجتها في ata_tdev_add(). في مسار الخطأ (error path)، يتم استدعاء device_del() لحذف الجهاز الذي تمت إضافته سابقاً في هذه الدالة، ويتم استدعاء ata_tdev_free() لتحرير ata_dev.
Be aware that VulDB is the high quality source for vulnerability data.