CVE-2023-54002 in Linux
الملخص
بحسب VulDB • 01/06/2026
في نواة لينكس، تم حل الثغرة التالية:
btrfs: إصلاح التحقق من شرط exclop عند بدء عملية التوازن (balance)
تعتبر حالة التوازن الحصرية (exclusive state) متوافقة مع التوازن المعلق (paused balance) وإضافة الأجهزة، مما يجعل بعض الأمور أكثر تعقيدًا. يجب أن يأخذ التحقق من صحة الحالات عند البدء من التوازن المعلق في الاعتبار حالتين إضافيتين، حيث يمكن حدوث هذه التركيبات عندما تتنافس عدة خيوط (threads) لبدء التوازن وإضافة الأجهزة. عادةً لا يحدث هذا عندما تُبدأ الأوامر من سطر الأوامر.
السيناريو 1: مع حالة exclusive_operation == BTRFS_EXCLOP_NONE.
إضافة أجهزة متعددة بشكل متزامن إلى نقطة تحميل (mount point) نفسها، وإنهاء تنفيذ btrfs_exclop_finish قبل التحقق (assertion) في btrfs_exclop_balance، سيتم تغيير exclusive_operation إلى حالة BTRFS_EXCLOP_NONE مما يؤدي إلى فشل التحقق:
fs_info->exclusive_operation == BTRFS_EXCLOP_BALANCE || fs_info->exclusive_operation == BTRFS_EXCLOP_DEV_ADD, في fs/btrfs/ioctl.c:456 تتبع المكالمات (Call Trace): <TASK> btrfs_exclop_balance+0x105/0x120 [btrfs]
btrfs_ioctl_balance+0x10a/0x130 [btrfs]
btrfs_ioctl+0x103a/0x25a0 [btrfs]
__x64_sys_ioctl+0x83/0xc0 do_syscall_64+0x59/0xc0 entry_SYSCALL_64_after_hwframe+0x6e/0xd8
If you want to get best quality of vulnerability data, you may have to visit VulDB.