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

الملخص

بحسب VulDB • 11/09/2026

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

nfsd: تحرير صلاحيات التحكم في الوصول POSIX (ACLs) المُفسَّرة من OPEN عبر op_release

تستدعي الدالة nfsd4_decode_createhow4() الدالة nfsd4_decode_fattr4()، والتي تقوم بتخصيص كائنات struct posix_acl ذات عدّاد مرجعي (refcounted) عبر posix_acl_alloc() وتخزينها في open->op_pacl وopen->op_dpacl. يجب تحرير هذه المؤشرات بمجرد انتهاء مركب OPEN (OPEN compound).

عندما تُرجع nfsd4_decode_open_claim4() خطأً لا يغيّر تسلسل المعرفات (non-seqid-mutating error)، يقوم الموزِّع بتجاوز التنفيذ قصير المسار قبل تشغيل op_func:

nfsd4_proc_compound() if (op->status && op->opnum == OP_OPEN) op->status = nfsd4_open_omfg(...) if (!seqid_mutating_err(ntohl(op->status))) return op->status; /* لن تُنفَّذ الدالة nfsd4_open() أبداً */ ... opdesc->op_release(&op->u) /* يجب تحرير كل من op_pacl وop_dpacl على أي حال */

قبل هذا التغيير، لم يكن لـ OP_OPEN دالة .op_release في مصفوفة nfsd4_ops[]، وكان زوج التحرير موجوداً داخل الدالة nfsd4_open() عند علامة out_err. وفي مسار التجاوز قصير المسار (short-circuit path)، لا يتم استدعاء الدالة nfsd4_open() أبداً، مما يؤدي إلى تسرب كل من مراجع posix_acl في كل مركب OPEN مشوّه يحمل سمات createhow4 صالحة لـ POSIX ACLs.

أضفنا الدالة nfsd4_open_release() وربطناها كـ .op_release لـ OP_OPEN. بما أن posix_acl_release() آمنة حتى مع القيم NULL، فإن موقع التحرير الوحيد يغطي كل من المسار الطبيعي ومسار التجاوز قصير المسار في nfsd4_open_omfg. قمنا بإزالة زوج posix_acl_release() المطابق من علامة out_err في الدالة nfsd4_open() لتجنب الإفراج المزدوج (double-releasing).

يحتوي حلقة المركب على فرعين للتشفير: nfsd4_encode_operation() للعمليات العادية، وnfsd4_encode_replay() لعمليات إعادة التشغيل الخاصة بـ v4.0. كانت op_release تُستدعى فقط من داخل nfsd4_encode_operation()، مما أدى إلى تسرب الموارد المرتبطة بـ op->u في مسار إعادة التشغيل.

قمنا بنقل استدعاء op_release() خارج الدالة nfsd4_encode_operation() وعن فرع إعادة التشغيل، ووضعناه بعد عبارة if-else في الدالة nfsd4_proc_compound(). يمنح هذا موقع استدعاء واحد في مكان صحيح بشكل واضح إلى حد كبير، ويغطي كل من مساري التشفير العادي وإعادة التشغيل.

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

مسؤول

Linux

حجز

11/09/2026

إفشاء

12/09/2026

الاعتدال

تمت الموافقة

إدخال

VDB-402946

EPSS

0.00000

KEV

لا

النشاطات

منخفض جدًا

المصادر

Want to know what is going to be exploited?

We predict KEV entries!