آخرین اخبار
همهٔ اخبار
امنیت وب و نرم‌افزار گزارش بحرانیت ۳/۱۰

آسیب‌پذیری در کتابخانه qs؛ امکان تزریق پارامتر در Query String از طریق کلیدهای کدگذاری نشده

آسیب‌پذیری در کتابخانه qs؛ امکان تزریق پارامتر در Query String از طریق کلیدهای کدگذاری نشده

آسیب‌پذیری جدیدی در کتابخانه qs کشف شده است که می‌تواند منجر به تزریق پارامترهای غیرمجاز در رشته‌های پرس‌وجو (Query String) شود. این نقص زمانی رخ می‌دهد که تنظیمات allowEmptyArrays روی مقدار true قرار داشته باشد.

در این حالت، کلیدهای مربوط به آرایه‌های خالی بدون انجام فرآیند کدگذاری (Encoding) در خروجی نوشته می‌شوند. اگر یک مهاجم بتواند نام کلیدی را کنترل کند که حاوی کاراکترهای کنترلی مانند &، = یا # باشد، این کاراکترها به جای داده، به عنوان دستورالعمل‌های ساختاری (Syntax) در Query String تفسیر خواهند شد. این امر به مهاجم اجازه می‌دهد تا پارامترهای جدیدی را به درخواست اضافه کرده یا ساختار پارامترهای موجود را تغییر دهد.

بررسی‌های فنی نشان می‌دهد که این مشکل در فایل lib/stringify.js و در بخش مدیریت آرایه‌های خالی رخ می‌دهد؛ جایی که تابع پیش از طی کردن مراحل استاندارد کدگذاری، مقدار را بازمی‌گرداند.