CVE-2026-23346 in Linuxالمعلومات

الملخص

بحسب VulDB • 11/05/2026

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

arm64: io: استخراج نوع ذاكرة المستخدم في ioremap_prot()

المُستدعي الوحيد لـ ioremap_prot() خارج تنفيذ ioremap() العام هو generic_access_phys()، والذي يمرر قيمة 'pgprot_t' يتم تحديدها من تعيين المستخدم (user mapping) لـ 'pfn' المستهدف الذي يتم الوصول إليه بواسطة النواة. على معمارية arm64، تحتوي 'pgprot_t' على جميع البتات غير المتعلقة بالعنوان من pte، بما في ذلك ضوابط الأذونات، وبالتالي ينتهي بنا الأمر بإرجاع تعيين مستخدم جديد من ioremap_prot() يتسبب في حدوث خطأ (fault) عند الوصول إليه من النواة على الأنظمة التي تدعم PAN:

| Unable to handle kernel read from unreadable memory at virtual address ffff80008ea89000 | ... | Call trace: | __memcpy_fromio+0x80/0xf8 | generic_access_phys+0x20c/0x2b8 | __access_remote_vm+0x46c/0x5b8 | access_remote_vm+0x18/0x30 | environ_read+0x238/0x3e8 | vfs_read+0xe4/0x2b0 | ksys_read+0xcc/0x178 | __arm64_sys_read+0x4c/0x68

استخراج نوع الذاكرة فقط من 'pgprot_t' الخاص بالمستخدم في ioremap_prot() والتحقق من أننا نمرر تعيين مستخدم، لحماية أنفسنا ضد أي تغييرات في المستقبل قد تتطلب معالجة إضافية. لتجنب الإشارة الخاطئة إلى مستخدمي ioremap()، قمنا بتوفير ماكرو خاص بـ ioremap() يقوم ببساطة بتغليف __ioremap_prot().

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

مسؤول

Linux

حجز

13/01/2026

إفشاء

25/03/2026

الاعتدال

تمت الموافقة

إدخال

VDB-353039

EPSS

0.00017

KEV

لا

النشاطات

منخفض جدًا

المصادر

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!