جزئیات آسیبپذیری CurXecute و روشهای دور زدن لیست سیاه در ابزارهای کدنویسی مبتنی بر هوش مصنوعی
محققان امنیت سایبری یک نقص امنیتی با شدت بالا را در Cursor، یک ویرایشگر کد محبوب مبتنی بر هوش مصنوعی (AI)، افشا کردهاند که امکان اجرای کد از راه دور (RCE) را فراهم میکرد. این آسیبپذیری که با شناسه **CVE-2025-54135** (امتیاز CVSS: 8.6) ردیابی میشود، در نسخه 1.3 که در تاریخ ۲۹ جولای ۲۰۲۵ منتشر شد، برطرف شده است. این نقص توسط Aim Labs که پیش از این EchoLeak را افشا کرده بود، CurXecute نامگذاری شده است.
تیم Aim Labs در گزارشی که با The Hacker News به اشتراک گذاشته شده، اظهار داشت: “Cursor با امتیازات سطح توسعهدهنده اجرا میشود و هنگامی که با یک سرور MCP (Model Control Protocol) که دادههای خارجی نامعتبر را دریافت میکند جفت شود، این دادهها میتوانند جریان کنترل عامل را منحرف کرده و از این امتیازات سوءاستفاده کنند.”
آنها افزودند: “با ارسال دادههای آلوده به عامل از طریق MCP، یک مهاجم میتواند به اجرای کامل کد از راه دور تحت امتیازات کاربر دست یابد و هر تعداد از اقدامات، از جمله فرصتهایی برای باجافزار، سرقت داده، دستکاری هوش مصنوعی و توهمات، و غیره را انجام دهد.”
به عبارت دیگر، اجرای کد از راه دور میتواند از طریق یک **تزریق پرامپت** (prompt-injection) خارجی که به صورت مخفیانه فایل “~/.cursor/mcp.json” را بازنویسی میکند و دستورات کنترل شده توسط مهاجم را اجرا مینماید، فعال شود.
این آسیبپذیری مشابه EchoLeak است؛ در هر دو مورد، ابزارهایی که توسط سرورهای Model Control Protocol (MCP) برای استفاده توسط مدلهای هوش مصنوعی در معرض دید قرار میگیرند و تعامل با سیستمهای خارجی، مانند پرس و جو از پایگاههای داده یا فراخوانی APIها را تسهیل میکنند، میتوانند دادههای نامعتبر را دریافت کرده و رفتار مورد انتظار عامل را آلوده کنند.
به طور خاص، Aim Security دریافت که فایل mcp.json که برای پیکربندی سرورهای سفارشی MCP در Cursor استفاده میشود، میتواند اجرای هر ورودی جدید (مانند افزودن سرور Slack MCP) را بدون نیاز به هیچ تأییدیهای آغاز کند.
این **حالت اجرای خودکار** (auto-run mode) به ویژه خطرناک است زیرا میتواند منجر به اجرای خودکار یک بار مخرب شود که توسط مهاجم از طریق یک پیام Slack تزریق شده است. توالی حمله به شرح زیر است:
- کاربر یک سرور Slack MCP را از طریق رابط کاربری Cursor اضافه میکند.
- مهاجم یک پیام حاوی بار تزریق دستور را در یک کانال عمومی Slack ارسال میکند.
- قربانی یک چت جدید را باز میکند و از عامل Cursor میخواهد از سرور Slack MCP تازه پیکربندی شده برای خلاصه کردن پیامهایش در یک پرامپت استفاده کند: “از ابزارهای Slack برای خلاصه کردن پیامهای من استفاده کن.”
- عامل با پیامی که به طور خاص برای تزریق دستورات مخرب به محتوای خود طراحی شده است، مواجه میشود، برای مثال، تغییر فایل پیکربندی برای افزودن یک سرور MCP دیگر حاوی یک دستور فریبنده (“touch ~/<file_containing_RCE_payload“).
Aim Security گفت: “علت اصلی این نقص این است که ورودیهای جدید به فایل JSON جهانی MCP به طور خودکار شروع به کار میکنند. حتی اگر ویرایش رد شود، اجرای کد قبلاً اتفاق افتاده است.”
کل این حمله به دلیل سادگی آن قابل توجه است. اما همچنین نشان میدهد که چگونه ابزارهای مجهز به هوش مصنوعی میتوانند هنگام پردازش محتوای خارجی، در این مورد، هر سرور MCP شخص ثالث، سطوح حمله جدیدی را باز کنند.
این شرکت اضافه کرد: “همانطور که عاملهای هوش مصنوعی همچنان جهانهای خارجی، داخلی و تعاملی را به هم متصل میکنند، مدلهای امنیتی باید فرض کنند که زمینه خارجی ممکن است بر زمان اجرای عامل تأثیر بگذارد و هر مرحله را نظارت کنند.”
نسخه 1.3 Cursor همچنین یک مشکل دیگر را در حالت اجرای خودکار برطرف میکند که به راحتی میتواند محافظتهای مبتنی بر لیست سیاه (denylist) پلتفرم را با استفاده از روشهایی مانند رمزگذاری Base64، اسکریپتهای شل، و قرار دادن دستورات شل در نقل قول (مانند “e“echo bypass) برای اجرای دستورات ناامن دور بزند. پس از افشای مسئولانه توسط تیم تحقیقاتی BackSlash، Cursor قدم برداشته و به طور کامل قابلیت لیست سیاه را برای اجرای خودکار به نفع لیست سفید (allowlist) منسوخ کرده است.
محققان مصطفی نعمنه و میکا گلد گفتند: “انتظار نداشته باشید که راهحلهای امنیتی داخلی ارائه شده توسط پلتفرمهای کدنویسی vibe جامع یا بینقص باشند. مسئولیت اطمینان از مجهز بودن سیستمهای عاملی به محافظهای مناسب بر عهده سازمانهای کاربر نهایی است.”
این افشاگری در حالی صورت میگیرد که HiddenLayer همچنین دریافت که رویکرد ناکارآمد لیست سیاه Cursor میتواند با جاسازی دستورات مخرب پنهان در فایل README.md گیتهاب مورد سوءاستفاده قرار گیرد و به مهاجم اجازه میدهد کلیدهای API، اعتبار SSH، و حتی دستورات سیستم مسدود شده را اجرا کند.
محققان کاسیمیر شولز، کنت یونگ و تام بونر خاطرنشان کردند: “هنگامی که قربانی پروژه را در گیتهاب مشاهده میکرد، تزریق پرامپت قابل مشاهده نبود و آنها از Cursor خواستند تا پروژه را git clone کرده و به آنها در راهاندازی آن کمک کند، که یک اتفاق رایج برای یک سیستم عاملی مبتنی بر IDE است.”
با این حال، پس از کلون کردن پروژه و بررسی readme برای مشاهده دستورالعملهای راهاندازی پروژه، تزریق پرامپت مدل هوش مصنوعی را در دست گرفت و آن را مجبور کرد تا از ابزار grep برای یافتن هر گونه کلید در فضای کاری کاربر استفاده کرده و سپس کلیدها را با curl از سیستم خارج کند. HiddenLayer همچنین اظهار داشت که ضعفهای دیگری را کشف کرده است که میتوانست برای افشای پرامپت سیستمی Cursor با نادیده گرفتن URL پایه ارائه شده برای درخواستهای API OpenAI به یک مدل پروکسی شده، و همچنین استخراج کلیدهای SSH خصوصی کاربر با استفاده از دو ابزار بیضرر، read_file و create_diagram، در آنچه که “حمله ترکیب ابزار” نامیده میشود، مورد سوءاستفاده قرار گیرد.
این امر اساساً شامل وارد کردن یک دستور تزریق پرامپت در یک فایل README.md گیتهاب است که توسط Cursor هنگامی که کاربر قربانی از ویرایشگر کد میخواهد فایل را خلاصه کند، تجزیه میشود و منجر به اجرای دستور میشود.
دستور پنهان، به نوبه خود، از ابزار read_file برای خواندن کلیدهای SSH خصوصی متعلق به کاربر و سپس از ابزار create_diagram برای استخراج کلیدها به یک URL webhook.site کنترل شده توسط مهاجم استفاده میکند. تمامی کاستیهای شناسایی شده توسط Cursor در نسخه 1.3 رفع شدهاند.
اخبار مربوط به آسیبپذیریهای مختلف در Cursor در حالی منتشر میشود که Tracebit حملهای را علیه Google’s Gemini CLI، یک ابزار خط فرمان متنباز که برای کارهای کدنویسی بهینهسازی شده است، طراحی کرد که از یک پیکربندی پیشفرض ابزار برای استخراج مخفیانه دادههای حساس به یک سرور کنترل شده توسط مهاجم با استفاده از curl سوءاستفاده میکرد.
مانند آنچه در مورد Cursor مشاهده شد، این حمله از قربانی میخواهد که (۱) به Gemini CLI دستور دهد تا با یک پایگاه کد گیتهاب ایجاد شده توسط مهاجم که حاوی یک **تزریق پرامپت غیرمستقیم** مخرب در فایل GEMINI.md زمینه است، تعامل داشته باشد و (۲) یک دستور بیضرر را به لیست سفید اضافه کند (مانند grep).
سم کاکس، بنیانگذار و مدیر ارشد فناوری Tracebit، گفت: “تزریق پرامپت که این عناصر را هدف قرار میدهد، همراه با مشکلات قابل توجه اعتبارسنجی و نمایش در Gemini CLI میتواند باعث اجرای کد دلخواه غیرقابل شناسایی شود.”
برای کاهش خطر ناشی از این حمله، به کاربران Gemini CLI توصیه میشود که نصبهای خود را به نسخه 0.1.14 که در تاریخ ۲۵ جولای ۲۰۲۵ عرضه شد، ارتقا دهند. این موضوع اهمیت بهروزرسانی مداوم نرمافزارها را برای حفظ امنیت برجسته میکند.





نظرات در مورد : رفع آسیبپذیری بحرانی در ویرایشگر کد Cursor AI: جلوگیری از اجرای دستورات مخرب از طریق تزریق پرامپت