شرح آسیبپذیری CVE-2026-9277
تابع quote() در بستهٔ shell-quote، ورودیهای توکن از نوع object را با مدل عملگرهای مورد قبول parse() تطبیق نمیداد. مقدار فیلد .op بهصورت نویسهبهنویسه escape میشد، اما الگوی /(.)/g در JavaScript نویسههای پایان خط، از جمله خط جدید، بازگشت سطر، U+2028 و U+2029 را پوشش نمیدهد. در نتیجه، پایان خط میتوانست بدون escape وارد خروجی شود؛ پوستههای POSIX خط جدید را جداکنندهٔ فرمان میدانند و متن بعد از آن ممکن است بهعنوان فرمان دوم اجرا شود. این مسیر هم هنگام ساخت مستقیم توکن از ورودی خارجی و هم زمانی قابل دسترسی است که envFn در parse(cmd, envFn) توکنهایی با فیلد .op قابلکنترل توسط مهاجم برگرداند. اصلاح، escape نویسهای را با اعتبارسنجی سختگیرانهٔ ساختار جایگزین میکند: عملگر باید در فهرست مجاز parser باشد، مقادیر pattern و comment اعتبارسنجی شوند و پایان خط نداشته باشند؛ سایر ساختارها نیز با TypeError رد میشوند.
محصولات و نسخههای تحت تأثیر
محصول گزارششده: shell-quote. جزئیات نسخههای درگیر را از اطلاعیهٔ رسمی پیوندشده در منابع بررسی کنید.
شدت و اولویت رسیدگی
امتیاز CVSS این رکورد 9.2 از ۱۰ و سطح شدت آن «بحرانی» است. شدت فنی بهتنهایی وضعیت محیط شما را مشخص نمیکند؛ دسترسی از اینترنت، نسخهٔ نصبشده و اهمیت سرویس را نیز در تصمیم وصلهکردن لحاظ کنید.
راهکار رفع و کاهش ریسک
- وجود محصول و نسخهٔ آسیبپذیر را در فهرست داراییهای خود بررسی کنید.
- وصله یا دستورالعمل کاهش ریسک سازنده را پس از آزمون سازگاری اجرا کنید.
- اگر وصله فوراً قابل اجرا نیست، دسترسی به مؤلفهٔ درگیر را طبق توصیهٔ سازنده محدود و تغییر را ثبت کنید.
- پس از اصلاح، نسخه و تنظیمات نهایی را دوباره بررسی کنید؛ برای دارایی مشکوک به نفوذ، لاگها را نیز تحلیل کنید.
آموزش Splunk برای تحلیل لاگ و بررسی رخدادهای امنیتی · مشاهده سایر آسیبپذیریها