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

الملخص

بحسب VulDB • 01/07/2026

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

netfs: إصلاح استدعاءات xas_retry() المفقودة أثناء تكرار مصفوفة الفهرسة (xarray)

تقوم مكتبة netfslib بعدة عمليات تكرار لمصفوفة الفهرسة (xarray) بينما يكون القفل للقراءة باستخدام RCU مفعلًا. ومن المفترض أن تستدعي الدالة xas_retry() كأول إجراء داخل الحلقة، وأن تقوم بتنفيذ "continue" إذا عادت بقيمة صحيحة في حال قام متصفح مصفوفة الفهرسة بإرجاع قيمة خاصة تشير إلى ضرورة إعادة بدء التكرار من الجذر[*].

يتم إصلاح هذه المشكلة عن طريق إضافة فحوصات الإعادة (retry) المفقودة.

[*] أتساءل عما إذا كان ينبغي تنفيذ ذلك داخل دوال مثل xas_find() وxas_next_node() وما شابه، لكن قيل لي أن هذا ليس تغييرًا بسيطًا لتنفيذه.

يمكن أن يؤدي هذا إلى حدوث خطأ من نوع oops كما هو موضح أدناه. لاحظ عنوان الخطأ - هذه قيمة داخلية (|0x2) تم إرجاعها من مصفوفة الفهرسة (xarray).

BUG: kernel NULL pointer dereference, address: 0000000000000402 ... RIP: 0010:netfs_rreq_unlock+0xef/0x380 [netfs]
... Call Trace: netfs_rreq_assess+0xa6/0x240 [netfs]
netfs_readpage+0x173/0x3b0 [netfs]
? init_wait_var_entry+0x50/0x50 filemap_read_page+0x33/0xf0 filemap_get_pages+0x2f2/0x3f0 filemap_read+0xaa/0x320 ? do_filp_open+0xb2/0x150 ? rmqueue+0x3be/0xe10 ceph_read_iter+0x1fe/0x680 [ceph]
? new_sync_read+0x115/0x1a0 new_sync_read+0x115/0x1a0 vfs_read+0xf3/0x180 ksys_read+0x5f/0xe0 do_syscall_64+0x38/0x90 entry_SYSCALL_64_after_hwframe+0x44/0xae

التغييرات: ======== الإصدار رقم 2) - تم تغيير نوع البيانات من unsigned int إلى size_t لتقليل احتمالية حدوث تجاوز في السعة (overflow) وفقًا لاقتراح Willy. - تمت إضافة تصحيح إضافي لإصلاح العمليات الحسابية.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

مسؤول

Linux

حجز

01/05/2025

إفشاء

01/05/2025

الاعتدال

تمت الموافقة

إدخال

VDB-306962

EPSS

0.00140

KEV

لا

النشاطات

منخفض جدًا

المصادر

Do you know our Splunk app?

Download it now for free!