
LuaRocks.org تكشف عن ثغرة تنفيذ عن بُعد: قاعدة البيانات وكل بيانات الاعتماد مكشوفة
أعلنت LuaRocks.org أن ثغرة تنفيذ التعليمات عن بُعد في موقعها استُغلت عدة مرات بين 9 يوليو و20 أغسطس 2026. نُقل الموقع إلى خادم جديد، وأُلغيت جميع مفاتيح API والجلسات وأسرار المصادقة الثنائية.
أعلنت LuaRocks.org، مستودع حزم لغة البرمجة Lua، أن ثغرة تنفيذ التعليمات عن بُعد (RCE) في موقعها استُغلت عدة مرات بين 9 يوليو و20 أغسطس 2026. وصل التقرير في 25 سبتمبر بتنسيق من CISA، وتم إصلاح الثغرة في 26 سبتمبر.
ولأن المهاجم كان قادراً على تنفيذ تعليمات برمجية على الخادم، يُعتبر كل ما كان متاحاً لذلك الخادم مكشوفاً. نُقل الموقع إلى خادم جديد بالكامل، وأُلغيت جميع بيانات الاعتماد التي كان يحتفظ بها الخادم القديم واستُبدلت. ولم يُعثر على دليل على تعديل الحزم الموجودة.
ما ينبغي للمستخدمين فعله
أُلغيت جميع مفاتيح API والجلسات، لذا يحتاج المستخدمون إلى مفتاح جديد لرفع الحزم، وعليهم تسجيل الدخول من جديد. تُخزَّن كلمات المرور كتجزئات bcrypt: من الصعب كسرها، لكن يجب اعتبارها مكشوفة، فغيّر كلمة المرور في كل مكان أُعيد فيه استخدامها. كما انكشفت أسرار 2FA وحُذفت، لذلك يجب إعداد المصادقة الثنائية من جديد.
يوصي الفريق بالترقية إلى LuaRocks 3.12 أو أحدث، خصوصاً عند استخدام LuaJIT أو Lua 5.1: الإصدارات الأقدم ستشغّل تعليمات برمجية مُترجمة مسبقاً إذا أرسل خادم ما هذه التعليمات بدلاً من rockspec أو ملف manifest. أما الحزم bcrcewon و7e0b94029db0 و7e0b9402f9c8 التي رفعها المهاجم في 7 أغسطس فقد أُزيلت؛ ومن ثبّتها عليه اعتبار ذلك الجهاز مخترقاً.
كيف عملت الثغرة
ملفات rockspec هي ملفات Lua، ويشغّلها LuaRocks.org في بيئة مقيّدة لقراءة اسم الحزمة وإصدارها. كانت دالة التحميل تقبل التعليمات البرمجية المُترجمة مسبقاً من LuaJIT إلى جانب كود Lua المصدري. ولا يتحقق LuaJIT من التعليمات المترجمة، لذا يمكن لملف مُصمَّم بعناية أن يقرأ ويكتب في الذاكرة خارج البيئة المقيّدة وينفّذ تعليمات عشوائية داخل خادم الويب. كان بإمكان أي مستخدم مسجّل تفعيل ذلك برفع rockspec؛ ويحمّل الإصلاح ملفات rockspec كنص فقط ويرفض التعليمات المترجمة.
ما الذي حدث
وجد الفريق ثلاثة حسابات أُنشئت لهذا الغرض. في 9 يوليو نُفّذت أوامر shell على الخادم عبر عمليات رفع خبيثة. وفي 7 أغسطس نُفّذت مرة أخرى ونُشرت ثلاث حزم خبيثة. وفي 16 و20 أغسطس وقعت مئات المحاولات الآلية عبر واجهة الرفع. وكان حساب خادم الويب يملك وصولاً إدارياً كاملاً، لذا يفترض الفريق أن المهاجم كان قادراً على قراءة كل شيء، بما في ذلك قاعدة البيانات بأكملها.
تشمل البيانات المكشوفة أسماء المستخدمين وعناوين البريد الإلكتروني وتجزئات كلمات المرور ومفاتيح API وأسرار 2FA وسجلات الجلسات مع عناوين IP وتفاصيل المتصفح، ورموز ربط حسابات GitHub التي لم تمنح سوى الوصول إلى الملف الشخصي والبريد الإلكتروني. يحتفظ المشروع بنسخة git يومية لكل الحزم: أظهرت المقارنة مع نسخة 8 يوليو وقاعدة البيانات أن كل فرق يفسّره رفع أو نسخ أو حذف عادي، وأن التعليمات المترجمة لم تظهر إلا في ملفات rockspec الخاصة بالمهاجم. أصلح المشروع الثغرة، وأزال حزم المهاجم من الموقع ومن كل النسخ المتطابقة، وألغى جميع بيانات الاعتماد. ويبقى حد واحد: لا يمكن تمييز حزمة حذفها المهاجم عن حزمة حذفها صاحبها.
SiTech — تطوير ويب مدعوم بالذكاء الاصطناعي
نبني مواقع سريعة وعصرية وندمج الذكاء الاصطناعي في سير عمل الشركات. لديك مشروع أو سؤال؟ يسعدنا مساعدتك.