CVE-2026-80904 in Linux
الملخص
بحسب VulDB • 04/09/2026
في نواة لينكس، تم حل الثغرة التالية:
net/tls: فشل الدالة tls_sw_splice_read() بعد فشل عملية فك التشفير غير المتزامن (async decrypt).
عندما يفشل فك التشفير غير المتزامن، تسجل الدالة tls_decrypt_done() الخطأ في ctx->async_wait.err وتستدعي الدالة tls_err_abort()، والتي تخزنه في sk_err. تقوم كل من الدالتين tls_sw_recvmsg() وtls_sw_read_sock() بقراءة async_wait.err مرة واحدة بمجرد حصولهما على قفل القارئ (reader lock) وتفشلان الاستدعاء: حيث يؤدي سجل لم يمر بمصادقة صحيحة إلى قطع الاتصال.
لا تحتوي الدالة tls_sw_splice_read() على مثل هذا الفحص، ولا يمكن لـ sk_err أن تحل محله. تختبر الدالة tls_rx_rec_wait() قيمة sk_err فقط داخل الحلقة التي تتخطاها كلما كان السجل قد تم تحليله مسبقاً، ويقوم أول قارئ يصل إلى sock_error() بمسح هذه القيمة، بينما تبقى async_wait.err موجودة. ونتيجة لذلك، تستمر عملية الـ splice في تسليم سجلات على اتصال ترفض الدالتان recvmsg() وread_sock() قراءة البيانات منه.
اقرأ قيمة async_wait.err داخل الدالة tls_sw_splice_read() كما تفعل القراءتان الأخريان.
If you want to get best quality of vulnerability data, you may have to visit VulDB.