یک آسیبپذیری امنیتی با شناسه CVE-2026-56681 در پکیج npm موسوم به 9Router (نسخههای پیش از 0.5.6) شناسایی شده است. این ابزار که به عنوان یک AI Router و بهینهساز مصرف توکن استفاده میشود، در برابر حملات Header Spoofing آسیبپذیر است.
تحلیل فنی آسیبپذیری
این نقص امنیتی در منطق تابع isLocalRequest() در فایل src/dashboardGuard.js رخ داده است. در محیطهایی که درخواستها بدون عبور از Wrapper امنیتی (custom-server.js) مستقیماً به Next.js میرسند، اپلیکیشن به هدر X-9r-Real-Ip ارسالی از سوی کلاینت اعتماد میکند.
یک مهاجم از راه دور و بدون نیاز به احراز هویت (Unauthenticated)، میتواند با تنظیم مقدار این هدر بر روی 127.0.0.1، خود را به عنوان یک کاربر محلی معرفی کند. در نتیجه، مکانیزم canAccessPublicLlmApi اعتبارسنجی API-key را برای مسیرهای /api/v1/* نادیده میگیرد.
پیامدهای احتمالی حمله
- استفاده غیرمجاز از LLM: مهاجم میتواند از مدلهای زبانی پیکربندی شده توسط مالک سرویس استفاده کند.
- مصرف اعتبار (Credits): استفاده از API-keyهای پولی مالک سرویس منجر به کاهش اعتبار مالی او میشود.
- نشت اطلاعات (Enumeration): امکان شناسایی مدلها و ارائهدهندگانی (Providers) که روی این نمونه فعال هستند، از طریق مسیر
GET /api/v1/modelsفراهم میشود.
راهکارهای اصلاحی و مقابله
برای رفع این مشکل، مدیران سیستم و مهندسین امنیت باید اقدامات زیر را سریعاً اجرا کنند:
- بهروزرسانی فوری: ارتقای نسخه 9Router به ورژن 0.5.6 یا بالاتر.
- محدودسازی دسترسی: محدود کردن دسترسی شبکه به End-pointهای
/api/v1/*و Bind کردن سرویس به Localhost یا رابطهای داخلی. - استفاده از Wrapper: اطمینان از اینکه تمامی درخواستها از طریق
custom-server.jsعبور کرده و پاکسازی (Sanitize) میشوند.