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

الملخص

بحسب VulDB • 22/06/2026

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

btrfs: إصلاح استخدام بعد التحرير (use-after-free) بعد فشل إنشاء لقطة سريعة (snapshot).

عند الدالة `create_snapshot()` في ملف `ioctl.c`، نقوم بتخصيص بنية للقطة السريعة المعلقة (pending snapshot structure)، ثم نربطها بقائمة اللقطات السريعة المعلقة الخاصة بالمعاملة (transaction). وبعد ذلك نستدعي دالة `btrfs_commit_transaction()`. وإذا أرجعت هذه الدالة خطأً، نقفز إلى علامة 'fail' حيث نقوم بتحرير بنية القطة السريعة المعلقة باستخدام `kfree()`. يمكن أن يؤدي هذا لاحقاً إلى حدوث حالة استخدام بعد التحرير (use-after-free) للقطة السريعة المعلقة:

1) قمنا بتخصيص القطة السريعة المعلقة وإضافتها إلى قائمة اللقطات السريعة المعلقة الخاصة بالمعاملة؛

2) نستدعي دالة `btrfs_commit_transaction()`، وتفشل إما عند أول استدعاء لـ `btrfs_run_delayed_refs()` أو `btrfs_start_dirty_block_groups()`. في كلتا الحالتين، لا نلغي المعاملة ولا نتخلص من مقبض (handle) المعاملة الخاص بنا. نقفز إلى علامة 'fail' ونحرر بنية القطة السريعة المعلقة. نرجع مع استمرار وجود القطة السريعة المعلقة ضمن قائمة المعاملة؛

3) تقوم مهمة أخرى بإنهاء (commit) المعاملة. هذه المرة لا يوجد أي خطأ على الإطلاق، وأثناء إنهاء المعاملة يتم الوصول إلى مؤشر يشير إلى بنية القطة السريعة المعلقة التي قامت مهمة إنشاء اللقطة بحذفها بالفعل، مما يؤدي إلى حالة استخدام بعد التحرير (use-after-free).

كان من الممكن اكتشاف هذه المشكلة فعلياً باستخدام أداة smatch، والتي أصدرت التحذير التالي:

fs/btrfs/ioctl.c:843 create_snapshot() warn: '&pending_snapshot->list' not removed from list

لذلك يتم إصلاح هذا الأمر بعدم قيام ioctl الخاص بإنشاء اللقطة بإضافة القطة السريعة المعلقة مباشرة إلى قائمة المعاملة. بدلاً من ذلك، نضيف القطة السريعة المعلقة إلى مقبض المعاملة (transaction handle)، ثم في دالة `btrfs_commit_transaction()` نقوم بإضافة اللقطة إلى القائمة فقط عندما يمكننا ضمان أن أي خطأ يُرجع بعد هذه النقطة سيؤدي إلى إلغاء المعاملة (abort). وفي هذه الحالة يمكن لكود ioctl تحرير القطة السريعة المعلقة بأمان ولن يتمكن أحد من الوصول إليها بعد ذلك.

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

إفشاء

20/06/2024

الاعتدال

تمت الموافقة

إدخال

VDB-269202

EPSS

0.00230

KEV

لا

النشاطات

منخفض جدًا

المصادر

Do you know our Splunk app?

Download it now for free!