CVE-2026-44351
fast-jwt: قبول سر HMAC فارغ عبر مُحلِّل مفاتيح غير متزامن - تجاوز مصادقة JWT
- تم النشر
- 13/05/2026
- محدث
- 14/05/2026
- تخصيص CNA
- GitHub_M
- الأدلة المرصودة
- 15/09/2026
CVSS الأساسي
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:Nمنخفض · الثلاثين يومًا القادمة
- المئوية
- 15.0%
- تاريخ الموديل
- 21/09/2026
EPSS هو تقدير إحصائي، وليس يقينًا أو مقياسًا للتأثير. ادمجها مع CVSS وحالة KEV والتعرض وبيئتك.
ملخص
توفر fast-jwt تنفيذًا سريعًا لـ JSON Web Token (JWT). قبل الإصدار 6.2.4، تسمح ثغرة تجاوز المصادقة الحرجة في مسار محلل المفاتيح غير المتزامن (async key-resolver) في fast-jwt لأي مهاجم غير مُصادَق عليه بتزوير رموز JWT عشوائية تُقبل كمصادَق عليها. عندما يُرجع محلل المفاتيح الخاص بالتطبيق سلسلة فارغة (''), على سبيل المثال عبر النمط الشائع `keys[decoded.header.kid] || ''` بأسلوب JWKS، يحوّلها fast-jwt إلى Buffer بطول صفري، ويمررها إلى `crypto.createSecretKey`، ويستخرج منها `allowedAlgorithms = ['HS256','HS384','HS512']`، ثم يتحقق من توقيع الرمز مقابل HMAC بمفتاح فارغ. يقوم المهاجم ببساطة بحساب `HMAC-SHA256(key='', input='${header}.${payload}')`، وهو ما يقبله Node دون اعتراض — ويُرجع المدقق الحمولة التي اختارها المهاجم (sub، admin، scopes، إلخ) كمصادَق عليها. تم إصلاح هذه الثغرة في الإصدار 6.2.4.
المصادر
1إثبات مفهوم لـ CVE-2026-44351، وهو تجاوز للمصادقة في fast-jwt <6.2.4 حيث يسمح مفتاح HMAC الفارغ للمهاجمين بتزوير رموز JWT عشوائية تُقبل كصحيحة.
الاستخدام المسؤول
استخدم معلومات الثغرات الأمنية فقط على الأنظمة التي تمتلكها أو المرخص لها باختبارها. يرتبط Kitploit ببيانات تعريف البحث العامة ولا يخزن أكواد الاستغلال أو الحمولات الضارة.