CVE-2026-13735 in Zephyrالمعلومات

الملخص

بحسب VulDB • 29/08/2026

تعامل تنفيذ WireGuard في Zephyr الموجود في الملف `subsys/net/lib/wireguard/wg_crypto.c` مع حزم الإبقاء على الاتصال (keepalive) بشكل غير صحيح. داخل الدالة `wg_process_data_message()`، كانت تُقبل وتُعاد فوراً أي رسالة بيانات نقل من النوع 4 يكون حمولتها بالضبط 16 بايتة (وهو نص عادي فارغ مرفق بوسم Poly1305 وحيد، أي عبارة عن حزمة إبقاء على الاتصال)، قبل استدعاء الدالة `wg_decrypt_packet()` أبداً. وبالتالي لم يتم التحقق من وسوم المصادقة Poly1305؛ وكانت الحواجز الوحيدة السابقة هي البحث عن فهرس المستقبل في النص العادي (دالة `get_peer_keypair_for_index()` التي تعمل على البيانات المقدمة من المهاجم عبر حقل `receiver` في رأس الرسالة)، وفحص صلاحية/انتهاء صلاحيّة زوج المفاتيح باستخدام خوارزمية غير تشفيرية.

يمكن الوصول إلى هذا المسار بالكامل من خلال الشبكة: يتم توجيه بيانات UDP الواردة على منفذ WireGuard بواسطة الدالة `wg_input()` للتعامل مع البيانات عبر دالة `handle_transport_data()` ثم `wg_process_data_message()`. يُنقل فهرس المستقبل ذي الـ 32 بت في نص عادي ضمن رسائل مصافحة وبيانات WireGuard، لذا يتعلم المراقب الموجود على المسار (on-path observer) الفهرز مباشرةً، ويمكن لمهاجم خارج المسار (off-path attacker) تخمينه عن طريق القوة الغاشمة ضد منفذ UDP. وبافتراض وجود جلسة استقبال سارية ومقبولة لهذا الفهرز، يمكن للمهاجم إرسال حمولة عشوائية بحجم 16 بايتة وقبولها دون امتلاك مفتاح الجلسة.

عند القبول، تسببت الرسالة غير المصادق عليها في ملاحظة طبقة الإدارة لإشارة `NET_EVENT_VPN_CONNECTED` مزيفة (مما يحدد قيمة `peer->first_valid` ويخطر أي مستمع لـ net_mgmt)، وزادت إحصاءات استقبال الإبقاء على الاتصال. يقتصر التأثير على سلامة هذه الإشارة الحالة: لا يتم فك تشفير أو حقن نص عادي، ولا يُكشف عن أي مفتاح، ولم تقمس مسار العودة المبكر بتحديث نقطة نهاية النظير (peer endpoint) أو مؤقتات البقاء على قيد الحياة (liveness timers)، وبالتالي لا توجد عواقب تتعلق بحقن الحركة أو الاستيلاء على الجلسة أو التوفرية.

تزيل الإصلاحات العودة المبكرة السابقة لفك التشفير، بحيث تمر حمولة بحجم 16 بايتة عبر دالة `wg_decrypt_packet()`، والتي تتحقق من وسوم Poly1305 فوق النص العادي الفارغ، تليها عملية التحقق المضادة لإعادة اللعب (anti-replay check) الموجودة بالفعل؛ ثم تُعترف بالرسالة فقط إذا كانت مصدقة وغير معاد إرسالها لتُعتبر إبقاءً على الاتصال. تفشل الإبقاءات المزيفة الآن في فحص الوسم وتُحسب كفشلات فك تشفير.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

مسؤول

Zephyr

حجز

29/06/2026

إفشاء

29/08/2026

الاعتدال

تمت الموافقة

إدخال

VDB-396932

EPSS

0.00000

KEV

لا

النشاطات

منخفض

المصادر

Interested in the pricing of exploits?

See the underground prices here!