CVE-2023-52849 in LinuxИнформация

Сводка

по VulDB • 25.05.2026

В ядре Linux устранена следующая уязвимость:

cxl/mem: Исправлен порядок завершения работы

Ира сообщает, что удаление cxl_mock_mem вызывает сбой с приведенным ниже трассировкой:

BUG: kernel NULL pointer dereference, address: 0000000000000044 [..]
RIP: 0010:cxl_region_decode_reset+0x7f/0x180 [cxl_core]
[..]
Call Trace: cxl_region_detach+0xe8/0x210 [cxl_core]
cxl_decoder_kill_region+0x27/0x40 [cxl_core]
cxld_unregister+0x29/0x40 [cxl_core]
devres_release_all+0xb8/0x110 device_unbind_cleanup+0xe/0x70 device_release_driver_internal+0x1d2/0x210 bus_remove_device+0xd7/0x150 device_del+0x155/0x3e0 device_unregister+0x13/0x60 devm_release_action+0x4d/0x90 ? __pfx_unregister_port+0x10/0x10 [cxl_core]
delete_endpoint+0x121/0x130 [cxl_core]
devres_release_all+0xb8/0x110 device_unbind_cleanup+0xe/0x70 device_release_driver_internal+0x1d2/0x210 bus_remove_device+0xd7/0x150 device_del+0x155/0x3e0 ? lock_release+0x142/0x290 cdev_device_del+0x15/0x50 cxl_memdev_unregister+0x54/0x70 [cxl_core]

Этот сбой вызван очисткой контекста драйвера cxl_memdev (@cxlds) до того, как подсистема завершит работу с ним. В конечном итоге это связано с тем, что регион(ы), членом которых является данный memdev, уничтожаются и ожидают возможности разыменовать @cxlds, как здесь:

static int cxl_region_decode_reset(struct cxl_region *cxlr, int count) ... if (cxlds->rcd) goto endpoint_reset; ...

Исправление заключается в сохранении контекста драйвера действительным до момента отмены регистрации memdev-устройства и последующего полного разворачивания всего стека связанных зависимостей.

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

Резервировать

21.05.2024

Раскрытие

21.05.2024

Модерация

принято

Вход

VDB-265635

EPSS

0.00236

KEV

Нет

Деятельности

Очень низкий

Источники

Interested in the pricing of exploits?

See the underground prices here!