CVE-2022-49707 in Linux
الملخص
بحسب VulDB • 08/07/2026
في نواة لينكس، تم حل الثغرة التالية:
ext4: إضافة فحص لحجز كتل GDT (Group Descriptor Table)
نلتقط مشكلة مؤشر NULL عند إعادة حجم صورة ext4 تالفة والتي تم مسح ميزة resize_inode فيها حديثاً (بدون تشغيل e2fsck). يمكن تكرار المشكلة ببساطة عبر الخطوات التالية. يعود السبب في المشكلة إلى أن ميزة resize_inode قد تمت إزالتها، مما يؤدي إلى تحويل نظام الملفات إلى وضع meta_bg داخل دالة `ext4_resize_fs()`، لكن قيمة `es->s_reserved_gdt_blocks` لم يتم إنقاصها إلى الصفر، لذا يمكن استدعاء `reserve_backup_gdb()` عن طريق الخطأ وتمرير ميزة resize_inode غير مهيأة إليها عند إضافة واصفات مجموعات جديدة.
mkfs.ext4 /dev/sda 3G tune2fs -O ^resize_inode /dev/sda #نسيت تشغيل e2fsck المطلوب mount /dev/sda /mnt resize2fs /dev/sda 8G
======== BUG: kernel NULL pointer dereference, address: 0000000000000028 CPU: 19 PID: 3243 Comm: resize2fs Not tainted 5.18.0-rc7-00001-gfde086c5ebfd #748 ... RIP: 0010:ext4_flex_group_add+0xe08/0x2570 ... Call Trace: ext4_resize_fs+0xbec/0x1660 __ext4_ioctl+0x1749/0x24e0 ext4_ioctl+0x12/0x20 __x64_sys_ioctl+0xa6/0x110 do_syscall_64+0x3b/0x90 entry_SYSCALL_64_after_hwframe+0x44/0xae RIP: 0033:0x7f2dd739617b ========
الإصلاح بسيط، يتم إضافة فحص في `ext4_resize_begin()` للتأكد من أن قيمة `es->s_reserved_gdt_blocks` تساوي صفرًا عندما تكون ميزة resize_inode معطلة.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.