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

الملخص

بحسب VulDB • 19/07/2026

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

nfsd: إصلاح تسرب posix_acl عند فشل فك تشفير SETACL

تستدعي كل من الدالتين nfsaclsvc_decode_setaclargs() و nfs3svc_decode_setaclargs() دالة nfs_stream_decode_acl() مرتين؛ الأولى لـ NFS_ACL والثانية لـ NFS_DFACL. تنقل كل استدعاء ناجح ملكية كائن posix_acl مُخصَّص حديثاً إلى argp->acl_access أو argp->acl_default. إذا نجحت الاستدعاء الأول ولكن فشل الثاني، فإن دالة فك التشفير تُرجع القيمة false ويبقى argp->acl_access معلقاً (غير محدد).

كانت ACLPROC2_SETACL.pc_release مُربوطة بـ nfssvc_release_attrstat و ACLPROC3_SETACL.pc_release مُربوطة بـ nfs3svc_release_fhandle. وكلاهما يستدعي فقط fh_put() وليس لديه أي معرفة بحقول ACL الموجودة في argp. كانت أزواج posix_acl_release() موجودة عند علامات out: داخل الدالتين nfsacld_proc_setacl() و nfsd3_proc_setacl()، ولكن svc_process() تتخطى pc_func عندما تُرجع pc_decode القيمة false، مما يجعل عملية التنظيف غير قابلة للوصول عند فشل فك التشفير:

svc_process_common() pc_decode() /* decode_setaclargs: false */ /* يتم تخطي pc_func */ pc_release() /* fh_put فقط -- تسرب ACLs */

يتسرب كائن posix_acl الأرملة طوال عمر الخادم.

تم الإصلاح بإضافة الدالتين nfsaclsvc_release_setacl() و nfs3svc_release_setacl()، اللتين تحرران كل من argp->acl_access و argp->acl_default بالإضافة إلى استدعاء fh_put()، وربطهما كـ pc_release لإجراءات SETACL الخاصة بهما. تعمل pc_release على جميع المسارات التي تسلكها svc_process() بعد فك التشفير، بما في ذلك فشل فك التشفير، لذا تم إزالة أزواج posix_acl_release() من علامات out: داخل دوال الإجراءات للحفاظ على ملكية الموارد في مكان واحد. يتوافق هذا مع نمط release_getacl() الموجود المستخدم بواسطة إجراءات GETACL الشقيقة.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

مسؤول

Linux

حجز

09/06/2026

إفشاء

19/07/2026

الاعتدال

تمت الموافقة

إدخال

VDB-380129

EPSS

0.00000

KEV

لا

النشاطات

منخفض

المصادر

Interested in the pricing of exploits?

See the underground prices here!