یک آسیبپذیری امنیتی با شناسه CVE-2026-104859 در ابزار Nx، که راهکاری برای مدیریت Monorepo در محیطهای TypeScript و کدبیسهای چندزبانه (Polyglot) است، شناسایی شده است.
جزئیات فنی آسیبپذیری
در نسخههای 21.4.0 تا 22.7.8 و همچنین نسخههای 23.0.0 تا 23.1.1، خط لوله انتشار (Release Pipeline) در پکیج @nx/docker، دستورات مربوط به تگگذاری Docker، جستجوی Image و عملیات Docker Push را به صورت رشتههای متنی (Shell Command Strings) ایجاد میکند.
مشکل زمانی رخ میدهد که مقادیر پیکربندی release.docker.repositoryName و registryUrl مستقیماً در این رشتهها جایگذاری شده و به /bin/sh -c ارسال میشوند. این موضوع باعث میشود اگر یک کاربر غیرقابل اعتماد بتواند به تنظیمات Nx دسترسی داشته باشد، از طریق وارد کردن سینتکسهای خاص Shell، دستورات مخرب را در هنگام اجرای دستورات nx release version یا nx release publish اجرا کند.
تاثیرات امنیتی
- نوع حمله: تزریق دستورات (Command Injection)
- سطح دسترسی: اجرای کد در محیطی که دستورات انتشار Nx در آن اجرا میشود.
- شرط وقوع: امکان تغییر در فایلهای پیکربندی Nx توسط مهاجم یا منبع غیرقابل اعتماد.