
كشف باحث أمني عن ثغرة خطيرة في منصة ChatGPT، سمحت لمخترقين بالوصول إلى حسابات المستخدمين، والاطلاع على محادثاتهم الخاصة وسرقة محتواها، بمجرد فتح رابط لمحادثة مشتركة على المنصة، دون حاجة إلى تثبيت أي تطبيقات أو تسجيل الدخول.
وأوضح الباحث موكول جويال، في تقرير، أن الثغرة كانت تسمح للمهاجم بإنشاء محادثة خبيثة على ChatGPT، ثم مشاركتها بصورة طبيعية باستخدام ميزة مشاركة المحادثات المتاحة لجميع المستخدمين، ويؤدي فتح الرابط إلى تشغيل تعليمات برمجية داخل حساب الضحية، تمنح المهاجم إمكانية الوصول إلى بياناته والتصرف نيابة عنه.
وأكد أن فريقه تمكن خلال الاختبارات من الوصول إلى قائمة المحادثات الخاصة بحساب أحد المستخدمين، وقراءة محتوى محادثة لم يسبق مشاركتها مع أي شخص آخر، ثم إرسال جزء من بياناتها إلى خادم خارجي تابع للفريق البحثي.
وبحسب التقرير، لم تكن خطورة الثغرة قاصرة على سرقة المحادثات، إذ إن التعليمات البرمجية التي تمكن الفريق من تشغيلها كانت تتمتع بالصلاحيات نفسها التي تستخدمها منصة ChatGPT للتعامل مع الحساب المسجل دخوله، ما أتاح نظرياً تنفيذ إجراءات أخرى نيابة عن صاحب الحساب.
اعتمد الهجوم على استغلال ميزة مشاركة المحادثات في ChatGPT، والتي تسمح للمستخدم بإنشاء رابط عام لمحادثة أجراها مع المنصة، بحيث يتمكن أي شخص يمتلك الرابط من الاطلاع عليها.
ووفقاً للباحث، كان بإمكان المهاجم إعداد محادثة تحتوي على عناصر برمجية خبيثة، ثم استخدام ميزة المشاركة المعتادة للحصول على رابط يبدأ بعنوان موقع ChatGPT الرسمي، وإرساله إلى الضحية عبر البريد الإلكتروني أو تطبيقات التراسل أو منشورات شبكات التواصل الاجتماعي.
وعندما يفتح المستخدم الرابط أثناء تسجيل دخوله إلى حسابه، تبدأ العناصر الموجودة داخل المحادثة في العمل، مستغلة الثغرة لتشغيل تعليمات برمجية بصلاحيات الحساب نفسه.
ولم يكن الهجوم يتطلب من الضحية تثبيت تطبيق، أو الانضمام إلى مشروع مشترك على ChatGPT، أو نسخ تعليمات برمجية وتشغيلها، أو استخدام أدوات المطورين في متصفح الإنترنت.
واختبر الباحثون الهجوم 3 مرات باستخدام حساب منفصل، وتمكنوا من إعادة تنفيذه حتى بعد إعادة تحميل الصفحة بالكامل، إذ بدأ تشغيل التعليمات البرمجية الخبيثة بعد نحو 4.5 ثانية.
بدأ اكتشاف الثغرة خلال اختبار الباحثين لآلية الحماية التي تستخدمها ChatGPT عند عرض صفحات الويب داخل المحادثات.
وتتيح المنصة للمستخدمين إنشاء صفحات ويب Sites باستخدام أكواد HTML، ثم معاينتها وتشغيلها مباشرة من خلال ميزة Preview، ولكنها تعزل هذه الصفحات داخل بيئة منفصلة عن الموقع الرئيسي، لمنع التعليمات البرمجية الموجودة فيها من الوصول إلى بيانات الحساب أو التحكم في صفحة ChatGPT.
وأكد الباحث أن نظام العزل كان يعمل بصورة صحيحة، إذ لم تتمكن التعليمات البرمجية الموجودة داخل المعاينة من قراءة محتوى الصفحة الرئيسية مباشرة.
لكن الفريق اكتشف إمكانية تجاوز هذا العزل باستخدام ميزة أخرى متاحة داخل المحادثات، وهي الرسوم البيانية التفاعلية، والتي يستدعيها ChatGPT عبر مكتبة برمجية تتبادل الرسائل بين الأجزاء المختلفة لصفحة الويب للتحكم في إعدادات لوحة المفاتيح، بما في ذلك تغيير تصميمها والعناصر التي تظهر عليها.
واكتشف الباحثون أن المكتبة كانت تستقبل بعض هذه الرسائل دون التحقق بصورة كافية من مصدرها، ما سمح للتعليمات البرمجية الموجودة داخل صفحة المعاينة المنفصلة بإرسال أوامر إلى المكتبة العاملة داخل صفحة ChatGPT الرئيسية.
واستخدم الفريق هذه الإمكانية لإرسال تعليمات تغير تصميم لوحة المفاتيح الافتراضية، مع إدخال محتوى HTML يتحكم فيه الباحثون، ثم إصدار أمر بإظهار لوحة المفاتيح، بحيث يتم عرض المحتوى داخل الصفحة الرئيسية للمنصة.
وكانت المشكلة أن المكتبة تعاملت مع المحتوى المستلم باعتباره موثوقاً، دون إجراء فحص يمنع إدخال عناصر غير آمنة.
ولم يكن إدخال المحتوى إلى صفحة ChatGPT كافياً لتنفيذ الهجوم بالكامل، إذ واجه الباحثون طبقة إضافية من الحماية تمنع تشغيل بعض التعليمات البرمجية غير المصرح بها.
وتعتمد هذه الطبقة على سياسة أمنية تعرف باسم Content Security Policy، أو اختصاراً CSP، وتحدد المصادر المسموح للموقع بتحميل وتشغيل التعليمات البرمجية منها.
وأوضح الباحث أن نظام الحماية منع بالفعل تشغيل التعليمات البرمجية التي حاول الفريق إدخالها مباشرة، لكنه سمح بتحميل محتوى برمجي من موقع يوتيوب.
واكتشف الفريق إمكانية استغلال إحدى خدمات يوتيوب، المعروفة باسم oEmbed، للحصول على استجابة تسمح بتشغيل تعليمات برمجية يحددها المهاجم.
ورغم أن الخدمة كانت تتحقق من صحة بعض الطلبات وترفض الطلبات غير المطابقة، فإنها كانت تدرج جزءاً من البيانات التي يقدمها صاحب الطلب داخل الاستجابة قبل إظهار رسالة الخطأ.
واستغل الباحثون هذا السلوك لتجاوز قيود تشغيل التعليمات البرمجية، بالاعتماد على كون يوتيوب من المصادر المسموح بها ضمن إعدادات الحماية الخاصة بصفحة ChatGPT.
بعد نجاح الفريق في تشغيل التعليمات البرمجية بصلاحيات موقع ChatGPT، انتقل الباحثون إلى اختبار مدى إمكانية الوصول إلى بيانات المستخدمين.
واستخدم الفريق المعلومات الخاصة بجلسة تسجيل الدخول المتاحة للصفحة لإرسال طلبات مباشرة إلى خوادم ChatGPT، بالطريقة نفسها التي تستخدمها المنصة عند عرض قائمة المحادثات أو فتح إحدى المحادثات القديمة.
ونجح الباحثون في الحصول على قائمة بأحدث المحادثات الموجودة داخل حساب الضحية، ثم إرسال طلب للحصول على محتوى إحدى المحادثات الخاصة.
وأصلحت شركة OpenAI الثغرة في 26 أكتوبر الماضي، بعدما تمكن فريقها الأمني من إعادة تنفيذ الهجوم والتأكد من إمكانية الوصول إلى المحادثات الخاصة، وصنفتها ضمن الفئة الأولى P1 من حيث الخطورة، وهي من درجات الخطورة المرتفعة في برنامجها للإبلاغ عن الثغرات الأمنية.












