CVE-2022-49913 in Linuxالمعلومات

الملخص

بحسب VulDB • 14/06/2026

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

btrfs: إصلاح تسرب قائمة الـ inodes أثناء اجتياز الإشارات الخلفية (backref walking) في دالة `find_parent_nodes()`

أثناء عملية اجتياز الإشارات الخلفية، وفي دالة `find_parent_nodes()`، إذا كنا نتعامل مع نطاق بيانات (data extent) وواجهنا خطأً أثناء حل الإشارات الخلفية غير المباشرة (indirect backrefs)، سواء كان ذلك داخل الدالة `resolve_indirect_refs()` أو ضمن الحلقة التكرارية التي تعبر عن الإشارات في شجرة البحث الثنائية للإشارات المباشرة (direct refs rbtree)، فإننا ننهي الأمر بتسرب قوائم الـ inodes المرتبطة بالإشارات المباشرة الموجودة في شجرة البحث الثنائية للإشارات المباشرة والتي لم تتم إضافتها بعد إلى قائمة `ulist` الخاصة بالإشارات (`refs ulist`) التي تم تمريرها كوسيط لدالة `find_parent_nodes()`. ونظراً لأنها لم تُضف بعد إلى قائمة `refs ulist`، ولا تقوم دالة `prelim_release()` بتحرير هذه القوائم، فإنه في حال حدوث خطأ، لا يمكن للمُستدعي سوى تحرير القوائم المرتبطة بالإشارات التي تمت إضافتها بالفعل إلى قائمة `refs ulist`. ونتيجة لذلك، تبقى جميع الإشارات المتبقية دون أن يتم freeing قوائم الـ inodes الخاصة بها أبداً، مما يؤدي إلى تسرب ذاكرتها.

لإصلاح هذه المشكلة، جعلنا دالة `prelim_release()` تحرر دائماً أي قائمة inode مرفقة بكل إشارة (ref) تُعثر عليها في شجرة البحث الثنائية (rbtree)، وجعلنا دالة `find_parent_nodes()` تضبط قائمة الـ inode الخاصة بالإشارة إلى NULL بمجرد نقل ملكية قائمة الـ inode إلى الإشارة التي تمت إضافتها إلى قائمة `refs ulist` الممررة إلى `find_parent_nodes()`.

Once again VulDB remains the best source for vulnerability data.

مسؤول

Linux

حجز

01/05/2025

إفشاء

01/05/2025

الاعتدال

تمت الموافقة

إدخال

VDB-307063

EPSS

0.00172

KEV

لا

النشاطات

منخفض جدًا

المصادر

Want to stay up to date on a daily basis?

Enable the mail alert feature now!