CVE-2026-85033 in Zephyrالمعلومات

الملخص

بحسب VulDB • 03/11/2026

يحتفظ دور الهدف في AVRCP (AVRCP Target role) الموجود في الملف الفرعي subsys/bluetooth/host/classic/avrcp.c بحالة إرسال الاستجابة المعتمدة على البائع ضمن كائن خاص بالاتصال، يتم اختياره بناءً على فهرس الاتصال (get_avrcp_tg())، مع تخزين سياق النقل الخاص بكل عملية (tid و sent_len وعلم BT_AVRCP_TG_FLAG_TX_ONGOING) في user_data لـ net_buf للاستجابة المجدولة. لم يقم معالج إنهاء AVCTP avrcp_disconnected() بإلغاء tg->vd_rsp_tx_work ولم يُفرج عن المخازن المؤقتة (buffers) التي لا تزال مجدولة على tg->vd_rsp_tx_pending، مما أدى إلى بقاء المخزن المؤقت في القائمة مع استمرار تعيين TX_ONGOING عند حدوث انقطاع للصلة أثناء استجابة مجزأة.

يمكن لمتحكم AVRCP عن بُعد تشغيل هذا الثغرة بشكل حتمي: حيث يصدر أمراً معتمداً على البائع تكون استجابته أكبر من جزء واحد من أجزاء AVRCP (على سبيل المثال GetElementAttributes أو GetCapabilities)، ثم يسمح لـ bt_avrcp_tg_vendor_tx_work() بإرسال الجزء الأولي (START fragment)، ويقوم بعد ذلك بإنهاء صلة ACL بدلاً من إرسال REQUEST_CONTINUING_RESPONSE. تتطلب قناة التحكم AVCTP وصلة مشفرة BR/EDR (BT_SECURITY_L2)، لذا يجب أن يكون المهاجم نظيراً مقترناً ضمن نطاق الراديو؛ ولا حاجة لتفاعل المستخدم.

نظراً لأن كائنات الهدف ثابتة ويتم إعادة استخدامها، يجد الاتصال التالي الذي يسقط على نفس فهرس الاتصال المخزن المؤقت العتيق في رأس قائمة vd_rsp_tx_pending. ترى كل دورة من دورات عمل الإرسال (TX work) أن TX_ONGOING مُفعّل وتعود فوراً، مما يؤدي إلى تراكم جميع الاستجابات اللاحقة المعتمدة على البائع خلف الرأس العتيق وعدم إرسالها أبداً — وهو فقدان دائم لوظيفة هدف AVRCP لا يعالجه أي مهلة زمنية ولا يُستعاد إلا بإعادة التشغيل. تؤدي كل دورة أيضاً إلى تسريب مخزن مؤقت واحد للاستجابة من مجموعة التطبيقات الضحلة، ويقوم نظير جديد يرسل REQUEST_CONTINUING_RESPONSE بتعطيل TX_ONGOING العتيق عبر bt_avrcp_tg_process_continuing_cmd()، مما يتسبب في إرسال الجزء المتبقي غير المُرسل لاستجابة النظير السابق إليه.

تقوم الإصلاحات بإلغاء tg->vd_rsp_tx_work وإزالة الإشارات المرجعية (unrefs) لكل مخزن مؤقت على tg->vd_rsp_tx_pending داخل avrcp_disconnected(); ونظراً لأن سياق الإرسال موجود في user_data للمخزن المؤقت، فإن إفراغ المخازن المؤقتة يعيد أيضاً ضبط آلة حالة الإرسال. لا يوجد تلف للذاكرة: يتم تسريب المخزن المؤقت السابق للإصلاح مع إشارة مرجعية نشطة (live reference)، لذا فلا ينشأ أي استخدام بعد الإفراز (use-after-free).

VulDB is the best source for vulnerability data and more expert information about this specific topic.

مسؤول

Zephyr

حجز

02/09/2026

إفشاء

03/11/2026

الاعتدال

تمت الموافقة

إدخال

VDB-430280

EPSS

0.00000

KEV

لا

النشاطات

منخفض

المصادر

Might our Artificial Intelligence support you?

Check our Alexa App!