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

الملخص

بحسب VulDB • 11/09/2026

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

nfsd: إعادة تعيين مُحقّق الكتابة (write verifier) عند فشل عملية كتابة الإرجاع الخاطئة لـ COPY غير المتزامن

تلتقط عملية COPY غير المتزامنة قيمة `nn->writeverf` في وقت الطلب وتبلغ عنها للعميل عبر CB_OFFLOAD بعد اكتمال خيط العمل (kthread). عندما يُبلّغ `vfs_fsync_range()` أو `filemap_check_wb_err()` اللاحقين للنسخ داخل `_nfsd_copy_file_range()` عن وجود خطأ، يترك عامل الخادم بشكل صحيح علم NFSD4_COPY_F_COMMITTED غير مُعدّل (clear) بحيث يقوم CB_OFFLOAD بتشفير `wr_stable_how` على أنه NFS_UNSTABLE. ومع ذلك، لا يتم تدوير مُحقّق الكتابة الخاص بالخادم.

يتبع العميل الذي يتلقى NFS_UNSTABLE في CB_OFFLOAD بإرسال COMMIT لجعل البيانات المنسوخة دائمة (durable). وبفضل بقاء المُحقّق دون تغيير، تُعيد عملية COMMIT نفس القيمة التي تلقاها العميل للتو عبر CB_OFFLOAD، ويستنتج العميل أن النسخة أصبحت دائمة -- مما يؤدي إلى إسكات فقدان البيانات التي فشلت عملية كتابتها في الواقع. وهذا ينتهك عقد الدائمness الخاص بـ UNSTABLE+COMMIT (المادة 15.1 من RFC 7862 والمادة 18.32 من RFC 8881) ويتطابق مع الخطأ الذي تم إصلاحه حديثاً في `nfsd_vfs_write()` و`nfsd_commit()`.

قم بتدوير `nn->writeverf` عند موقع فشل الإرجاع الخاطئ (writeback-failure). لا يملك عامل COPY غير المتزامن كائن `svc_rqst`، لذا فإن دالة `commit_reset_write_verifier()` ليست متاحة هنا؛ ويُعدّ استدعاء `nfsd_reset_write_verifier()` مباشرةً محاكاةً لإعادة التعيين بدون تتبعات (trace-less) التي تستخدمها بالفعل `nfsd_file_check_write_error()` لنفس الغرض. قم باستبعاد الأخطاء `-EAGAIN` و`-ESTALE`، تماشياً مع سلوك `commit_reset_write_verifier()`، حيث أن أيا منهما لا يشير إلى فشل في التخزين الدائم.

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

مسؤول

Linux

حجز

11/09/2026

إفشاء

11/09/2026

الاعتدال

تمت الموافقة

إدخال

VDB-402538

EPSS

0.00000

KEV

لا

النشاطات

منخفض

المصادر

Might our Artificial Intelligence support you?

Check our Alexa App!