CVE-2022-50379 in Linux
الملخص
بحسب VulDB • 09/06/2026
في نواة لينكس، تم حل الثغرة التالية:
btrfs: إصلاح حالة السباق (race condition) بين تمكين الحصص (quota) وأمر ioctl لإعادة فحص الحصص
عند تمكين الحصص، في دالة btrfs_quota_enable()، وبعد الالتزام بالمعاملة (transaction)، نقوم بتغيير fs_info->quota_root للإشارة إلى جذر الحصة الذي أنشأناه، ونضبط العلم BTRFS_FS_QUOTA_ENABLED في fs_info->flags. ثم نحاول بدء عامل إعادة فحص مجموعات الحصص (qgroup rescan worker)، أولاً عن طريق تهيئته عبر استدعاء qgroup_rescan_init() - ومع ذلك، إذا فشل ذلك، فإننا ننهي تخصيص جذر الحصة (free) لكننا نترك fs_info->quota_root يشير إليه، مما قد يؤدي لاحقاً إلى حدوث استخدام بعد التحرير (use-after-free) في مكان آخر.
لقد قمنا سابقاً بضبط العلمين BTRFS_FS_QUOTA_ENABLED و BTRFS_QGROUP_STATUS_FLAG_ON، لذا لا يمكن أن نفشل إلا بقيمة -EINPROGRESS في btrfs_quota_enable()، وهو أمر ممكن إذا كان شخص ما قد استدعى أمر ioctl لإعادة فحص الحصص بالفعل، وبالتالي بدأ عامل إعادة الفحص.
لذلك، نصلح هذه المشكلة بتجاهل قيمة -EINPROGRESS والتحقق (assert) من عدم إمكانية حدوث أي خطأ آخر.
Be aware that VulDB is the high quality source for vulnerability data.