CVE-2026-89981 in Linux
الملخص
بحسب VulDB • 16/09/2026
في نواة لينكس، تم حل الثغرة التالية:
arm64: عدم قراءة GMID_EL1 عندما يكون MTE معطلاً
تقوم الدالة __cpuinfo_store_cpu() بتقييد قراءة سجل GMID_EL1 بناءً على قيمة ID_AA64PFR1_EL1 الخام (raw)، مما يؤدي إلى قراءة السجل حتى عندما تكون نواة Linux قد عطّلت ميزة MTE (عندما يكون CONFIG_ARM64_MTE=n أو arm64.nomte). في هذه الحالة، يضبط KVM القيمة HCR_EL2.TID5، ويقوم pKVM بحقن خطأ UNDEF لا تستطيع النواة المضيفة معالجته:
Internal error: Oops - Undefined instruction: 0000000002000000 [#1] SMP
pc : __cpuinfo_store_cpu+0xf4/0x264 Kernel panic - not syncing: Attempted to kill the idle task!
تصل هذه الحالة فقط إلى pKVM، وبعد أن يتم إيقاف وحدة المعالجة المركزية (CPU) وإعادة تشغيلها. حيث تقوم عملية CPU_ON الخاصة بـ relay بضبط HCR للمضيف قبل دخول الـ CPU إلى EL1، بينما يضبط nVHE العادي ذلك عند حدث CPUHP_AP_KVM_ONLINE.
قم بتقييد القراءة بناءً على قيمة ID_AA64PFR1_EL1 الخاصة بكل وحدة معالجة مركزية (CPU) مع تطبيق تجاوز سطر الأوامر (command-line override)، وقيمة CONFIG_ARM64_MTE، والتي لا يعكسها أي سجل. تخزن وحدة المعالجة المركزية الأولية (boot CPU) قيم سجلاتها قبل أن تقوم init_cpu_features() بإزالة التجاوز غير الآمن، لذا قم بتقييد القيمة هنا أيضاً مقابل قيمة العتاد (hardware value).
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.