آسیب‌پذیری در توکن‌های وب JSON (JWT)

آسیب‌پذیری در توکن‌های وب JSON (JWT)

تاریخ ایجاد

توکن‌های وب JSON (JWT) یک ابزار حیاتی جهت برقراری یک ارتباط امن و همچنین تبادل داده‌ها بشمار می‌آید. یک آسیب پذیری جدید با شناسه CVE-2023-48238 و امتیاز CVSS 7.5 در کتابخانه json-web-token برای Node.js کشف شده است که امکان انجام حملات الگوریتمی JWT را به مهاجم خواهد داد. این آسیب‌پذیری ناشی از روش‌های کتابخانه‌ای برای پردازش الگوریتم مورد استفاده در تأیید امضای JWT می‌باشد. 
 

1


این مشکل در خط 86 فایل 'index.js' وجود دارد، جایی که الگوریتم برای تأیید امضا به‌طور مستقیم از توکن JWT استخراج می‌شود. مهاجم با بهره‌برداری از این آسیب‌پذیری می‌تواند یک توکن JWT مخرب با الگوریتم HS256 ایجاد کند، حتی اگر برنامه هدف از یک الگوریتم متفاوت استفاده کند. این توکن تقلبی، هنگام امضای آن با کلید عمومی RSA برنامه هدف، ممکن است برنامه را فریب داده و منجر به اعطاء مجوز کد به مهاجم شود. تأثیر این آسیب‌پذیری نگران‌کننده است زیرا کتابخانه json-web-token  با بیش از 4000 دانلود هفتگی و بیش از 2700 مخزن در GitHub که به آن وابسته‌اند، به‌طور گسترده در حال استفاده است. برنامه‌هایی که از الگوریتم RS256 استفاده می‌کنند در معرض این حمله قرار دارند.

توصیه‌های امنیتی
1. کتابخانه json-web-token برای Node.js را به نسخه به‌روزرسانی‌شده ارتقاء دهید. 
2. توصیه می‌شود در توکن‌های JWT از کتابخانه json-web-token، الگوریتم‌های تأیید امضای قابل اعتماد استفاده و ازبکارگیری الگوریتم‌های ناامن جلوگیری شود.
3. کدهای خود را با دقت بررسی کنید تا مطمئن شوید که توکن‌ها به‌درستی اعتبارسنجی و پردازش می‌شوند. خصوصاً خطوطی که به بسط الگوریتم از توکن مربوط می‌شوند، باید به دقت بررسی شوند.
5. ابزارها و فرآیندهای ارزیابی امنیتی را بر روی سیستم و اپلیکیشن خود اجرا کنید تا به‌طور مداوم آسیب‌پذیری‌ها را شناسایی و رفع کنید.

منبع خبر:


https://nvd.nist.gov/vuln/detail/CVE-2023-48238