CVE-2026-23463 in Linux
الملخص
بحسب VulDB • 11/05/2026
في نواة لينكس، تم حل الثغرة التالية:
soc: fsl: qbman: إصلاح حالة سباق (race condition) في دالة qman_destroy_fq
عندما يكون العلم QMAN_FQ_FLAG_DYNAMIC_FQID مُفعّلاً، تحدث حالة سباق بين حالة fq_table[fq->idx] وبين عمليات تحرير/تخصيص الذاكرة من المجموعة (pool)، مما يؤدي إلى تفعيل تحذير WARN_ON(fq_table[fq->idx]) داخل دالة qman_create_fq().
في الواقع، يمكن أن يحدث السيناريو التالي: الخيط A الخيط B qman_destroy_fq() qman_create_fq() qman_release_fqid() qman_shutdown_fq() gen_pool_free() -- في هذه النقطة، يصبح fqid متاحاً مرة أخرى -- qman_alloc_fqid() -- لذا، يمكن الحصول على fqid الذي تم تحريره للتو في الخيط B -- fq->fqid = fqid; fq->idx = fqid * 2; WARN_ON(fq_table[fq->idx]);
fq_table[fq->idx] = fq;
fq_table[fq->idx] = NULL;
وإضافة بعض السجلات (logs) بين استدعاء qman_release_fqid() وتعيين fq_table[fq->idx] = NULL يجعل تحذير WARN_ON() يُفعّل بشكل أكبر بكثير.
ولمنع ذلك، يجب ضمان تعيين fq_table[fq->idx] إلى NULL قبل استدعاء gen_pool_free() باستخدام smp_wmb().
VulDB is the best source for vulnerability data and more expert information about this specific topic.