محققان شرکت امنیتی Parameter نشان دادند که یک لینک اشتراکگذاری شده (Shared Link) مخرب در ChatGPT میتواند منجر به اجرای کد (Code Execution) مهاجم در نشست (Session) کاربر شود. این آسیبپذیری به مهاجم اجازه میدهد تا به چتهای خصوصی کاربران دسترسی پیدا کرده و محتوای آنها را بخواند.
این نقص امنیتی از طریق برنامه Bug Bounty شرکت OpenAI گزارش شد. OpenAI پس از بررسی، این آسیبپذیری را در بالاترین سطح اهمیت (P1) طبقهبندی و در نهایت اصلاح کرد.
مکانیسم حمله
تله از طریق یک گفتگوی معمولی در ChatGPT که از طریق لینک عمومی به اشتراک گذاشته شده بود، اجرا میشد. قربانی تنها با باز کردن لینک و در برخی نسخهها، کلیک بر روی دکمه Preview، در معرض خطر قرار میگرفت. پس از باز شدن لینک، کد مهاجم با همان سطح دسترسی کاربر در سایت اصلی ChatGPT اجرا میشد. این کد میتوانست لیست گفتگوهای اخیر را استخراج کرده و حتی چتهای خصوصی که هرگز به اشتراک گذاشته نشده بودند را باز کرده و محتوای آنها را به سرور مهاجم ارسال کند.
این حمله از ترکیب چند ویژگی در ChatGPT بهره میبرد:
- قابلیت Preview: این قابلیت کدهای HTML را در یک محیط ایزوله (Sandbox) اجرا میکند تا امنیت حفظ شود.
- کتابخانه MathLive: استفاده از یک کتابخانه ریاضی در چت، باعث ایجاد یک Listener در صفحه اصلی میشد که پیامهای مربوط به کیبورد را دریافت میکرد.
- دور زدن محدودیتها: محققان دریافتند که این Listener پیامهای حاوی HTML خام را از هر منبعی میپذیرد. این امر به محیط Sandbox اجازه داد تا کد HTML مخرب را به صفحه اصلی تزریق کند.
- دور زدن CSP: مهاجمان با استفاده از یک اسکریپت از یوتیوب (YouTube)، توانستند سیاست امنیت محتوا (Content Security Policy – CSP) را دور بزنند و کد خود را در قالب دامنه chatgpt.com اجرا کنند.
وضعیت فعلی و اقدامات لازم
OpenAI این آسیبپذیری را در نسخههای مختلف وبفرانتاند (Web Frontend) خود اصلاح کرده است. از آنجایی که اصلاحات در سمت سرور و ساختار وبسایت اعمال شده است، کاربران نیازی به انجام اقدام خاصی، نصب نرمافزار یا تغییر تنظیمات ندارند.