CVE-2026-89696المعلومات

الملخص

بحسب VulDB • 11/09/2026

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

nfsd: حظر عمليات غير SAVEFH بعد FOREIGN PUTFH لمنع حدوث NULL deref (إشارة إلى مؤشر فارغ)

عند تفعيل CONFIG_NFSD_V4_2_INTER_SSC، يمكن أن تُرجع nfsd4_putfh() نجاحًا مع كلاً من fh_dentry وfh_export قيمهما NULL إذا أرجعت nfserr_stale وكانت putfh->no_verify صحيحة (true). يتم تعيين علم NFSD4_FH_FOREIGN، لكن حلقة إرسال المركبات (compound dispatch loop) تستخدم هذا العلم فقط لتجاوز فحص nfserr_nofilehandle -- ولا تمنع العمليات اللاحقة من التشغيل مع fh_dentry فارغًا.

يمكن لعميل عن بُعد استغلال ذلك عبر صياغة COMPOUND تتضمن نسخاً بين وحدات التخزين الفرعية (inter-SSC COPY) (مما يؤدي إلى تعيين no_verify=true على PUTFH المحفوظ بواسطة check_if_stalefh_allowed()) مع إدراج عملية إضافية بين PUTFH المصدر وSAVEFH. على سبيل المثال، تستدعي استدعاءات SETATTR fh_want_write() التي تقوم بإشارة إلى ex_path.mnt الخاصة بـ fh_export دون استدعاء fh_verify() أولاً، مما يسبب حدوث NULL pointer deref (إشارة إلى مؤشر فارغ) في خيط nfsd kthread.

تم إصلاح ذلك عن طريق تقييد حلقة الإرسال: عندما يكون NFSD4_FH_FOREIGN مُعيّناً وfh_dentry فارغًا، فقط OP_SAVEFH (المطلوب لتدفق inter-SSC) والعمليات ذات ALLOWED_WITHOUT_FH (التي لا تحتاج إلى ملف handle محلل) يمكنها الاستمرار. تتلقى جميع العمليات الأخرى nfserr_stale، وفقًا لقسم 15.2.3 من RFC 7862 الذي يحدد أن التحقق من صحة الملف الأجنبي يُؤجل إلى العملية المستهلكة ويتم إرجاع NFS4ERR_STALE في تلك النقطة.

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

المصادر

Do you want to use VulDB in your project?

Use the official API to access entries easily!