CVE-2023-48223
fast-jwt ثغرة خلط خوارزمية JWT
- تم النشر
- 20/11/2023
- محدث
- 02/08/2024
- تخصيص CNA
- GitHub_M
- الأدلة المرصودة
- 08/08/2026
CVSS الأساسي
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:Nمنخفض · الثلاثين يومًا القادمة
- المئوية
- 50.6%
- تاريخ الموديل
- 21/09/2026
EPSS هو تقدير إحصائي، وليس يقينًا أو مقياسًا للتأثير. ادمجها مع CVSS وحالة KEV والتعرض وبيئتك.
ملخص
fast-jwt توفر تنفيذاً سريعاً لرموز JSON Web Token (JWT). قبل الإصدار 3.3.2، لا تمنع مكتبة fast-jwt بشكل صحيح الالتباس في خوارزمية JWT لجميع أنواع المفاتيح العامة. لا يطابق 'publicKeyPemMatcher' في 'fast-jwt/src/crypto.js' بشكل صحيح جميع تنسيقات PEM الشائعة للمفاتيح العامة. لاستغلال هذه الثغرة، يحتاج المهاجم إلى إنشاء رمز JWT خبيث يحتوي على خوارزمية HS256، موقّعاً بالمفتاح العام RSA لتطبيق الضحية. لن ينجح هذا الهجوم إلا إذا كان تطبيق الضحية يستخدم مفتاحاً عاماً يحتوي على ترويسة `BEGIN RSA PUBLIC KEY`. التطبيقات التي تستخدم خوارزمية RS256، ومفتاحاً عاماً بترويسة `BEGIN RSA PUBLIC KEY`، وتستدعي دالة التحقق دون توفير خوارزمية بشكل صريح، تكون عرضة لهذا الهجوم القائم على الالتباس في الخوارزمية والذي يسمح للمهاجمين بتوقيع حمولات عشوائية سيتم قبولها من قبل المدقق. يحتوي الإصدار 3.3.2 على تصحيح لهذه المشكلة. كحل بديل، قم بتغيير السطر 29 من `blob/master/src/crypto.js` لتضمين تعبير نمطي.
المصادر
1إثبات مفهوم يوضح ارتباك خوارزمية JWT في مكتبة fast-jwt. يتضمن خادمًا ضعيفًا وسكربت تزوير الرموز وإصلاح التحقق للتعليم الأمني.
الاستخدام المسؤول
استخدم معلومات الثغرات الأمنية فقط على الأنظمة التي تمتلكها أو المرخص لها باختبارها. يرتبط Kitploit ببيانات تعريف البحث العامة ولا يخزن أكواد الاستغلال أو الحمولات الضارة.