CVE-2026-89979 in Linuxالمعلومات

الملخص

بحسب VulDB • 16/09/2026

في نواة لينكس، تم إصلاح الثغرة التالية:

ALSA: pcm: تصحيح حالة السباق (Race Condition) بين العمليات غير الذرية (non-atomic operations) وبدء التشغيل (trigger-start).

نحن نحمي من حالات السباق الناتجة عن التحولات المتزامنة في الحالة بين عمليات PCM الذرية، لكن الفحوصات بين العمليات غير الذرية (مثل hw_params، وhw_free، وتحضير prepare) والعمليات الذرية ليست مثالية؛ فهناك فحص لحالة PCM المتعارضة في بداية hw_params وما شابهها، ولكن يمكن إصدار عمليات PCM الذرية أثناء تنفيذ العمليات غير الذرية لـ PCM. مثال على هذا السيناريو هو أن يقوم الخيط A بإعادة إصدار أمر PREPARE أو HW_PARAMS للتيار الذي تم تحضيره مسبقاً، بينما يقوم خيط آخر B بتفعيل بدء تشغيل PCM في منتصف عملية التحضير. وعلى الرغم من أن هذا لا يؤدي عادةً إلى مشاكل خطيرة جداً، إلا أنه قد يسبب بعض عدم الاتساق كما أبلغ عنه syzkaller (مثل تحذير ODEBUG).

توجد عمليات PCM ذرية متنوعة، والمشكلة الأساسية تكمن فقط في بدء تشغيل PCM لأنه يعمل من حالة PREPARED. أما أوامر التفعيل الأخرى (مثل الإيقاف stop) فهي مخصصة للحالة الجارية أو الحالات الخاصة الأخرى، وبالتالي يتم تصفيتها كشرط مسبق.

يهدف هذا التصحيح إلى منع تفعيل أمر بدء التشغيل (trigger-start) لـ PCM أثناء العمليات غير الذرية لمعالجة المشاكل المذكورة أعلاه. ولحسن الحظ، تستدعي عمليات hw_params وhw_free وprepare دالة `snd_pcm_buffer_access_lock()`، ويمكن استخدام هذه الدالة للتحقق من العمليات المتزامنة عند تفعيل أمر PCM - حيث يتم تعيين قيمة `runtime->buffer_accessing` إلى رقم سالب (إذا أمكن)، لذا يحتاج الأمر فقط لفحص قيمة `runtime->buffer_accessing`; فإذا كانت سالبة، فهذا يعني أن عمليات غير ذرية لـ PCM قيد التنفيذ بشكل متزامن.

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

مسؤول

Linux

حجز

11/09/2026

إفشاء

17/09/2026

الاعتدال

تمت الموافقة

إدخال

VDB-405795

EPSS

0.00000

KEV

لا

النشاطات

منخفض جدًا

المصادر

Do you know our Splunk app?

Download it now for free!