CWE-1047БазаНеполный
Модули с циклическими зависимостями
Продукт содержит модули, в которых один модуль содержит ссылки, образующие цикл обратно к нему самому, то есть присутствуют циклические зависимости.
Открыть в каталоге с фильтром CWE →Связанные CAPEC
—
Связанные уязвимости
CVE-2023-5236Обнаружена уязвимость в Infinispan, которая не обнаруживает циклические ссылки на объекты при демаршализации. Аутентифицированный злоумышленник с достаточными разрешениями может вставить вредоносный объект в кэш и использовать его для вызова ошибок нехватки памяти и достижения отказа в обслуживании.
CVE-2022-48658В ядре Linux устранена следующая уязвимость:
mm: slub: исправление вызовов flush_cpu_slab()/__free_slab() в контексте задачи.
Commit 5a836bf6b09f ("mm: slub: переместите вызовы flush_cpu_slab()
вызовы __free_slab() из контекста IRQ") переместили все вызовы flush_cpu_slab()
в глобальную рабочую очередь, чтобы избежать проблемы, связанной
с deactivate_slab()/__free_slab(), вызываемым из контекста IRQ
на ядрах PREEMPT_RT.
Когда функция flush_all_cpu_locked() вызывается из контекста задачи
может случиться так, что рабочая очередь с установленным битом WQ_MEM_RECLAIM в конечном итоге
очистит глобальную рабочую очередь, это вызовет проблему зависимости.
workqueue: WQ_MEM_RECLAIM nvme-delete-wq:nvme_delete_ctrl_work [nvme_core]
is flushing !WQ_MEM_RECLAIM events:flush_cpu_slab
WARNING: CPU: 37 PID: 410 at kernel/workqueue.c:2637
check_flush_dependency+0x10a/0x120
Workqueue: nvme-delete-wq nvme_delete_ctrl_work [nvme_core]
RIP: 0010:check_flush_dependency+0x10a/0x120[ 453.262125] Call Trace:
__flush_work.isra.0+0xbf/0x220
? __queue_work+0x1dc/0x420
flush_all_cpus_locked+0xfb/0x120
__kmem_cache_shutdown+0x2b/0x320
kmem_cache_destroy+0x49/0x100
bioset_exit+0x143/0x190
blk_release_queue+0xb9/0x100
kobject_cleanup+0x37/0x130
nvme_fc_ctrl_free+0xc6/0x150 [nvme_fc]
nvme_free_ctrl+0x1ac/0x2b0 [nvme_core]
Исправьте эту ошибку, создав рабочую очередь для операции очистки с
установленным битом WQ_MEM_RECLAIM.