ثغرة أمنية حرجة في مكتبة Go الشهيرة: تهديد لملايين المشاريع

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

ثغرة أمنية حرجة في مكتبة Go الشهيرة: ما الذي يحتاج المطورون معرفته؟



في 16 مارس 2025، تم اكتشاف ثغرة أمنية حرجة في النظام البيئي للغة Go (Golang)، تؤثر على واحدة من أكثر المكتبات استخدامًا. وفقًا للبيانات الأولية، ترتبط المشكلة بمعالجة غير صحيحة لبيانات المستخدم، مما قد يسمح للمهاجمين بتنفيذ تعليمات برمجية عن بُعد والحصول على وصول غير مصرح به إلى البنية التحتية للخادم.



المكتبة github.com/example/vuln-lib (تم تغيير الاسم حتى الكشف الرسمي عن CVE) تُستخدم في أكثر من 50,000 مشروع مفتوح المصدر بلغة Go، بما في ذلك أدوات DevOps، ومعالجات طلبات HTTP، وأنظمة تنسيق الحاويات. حصلت الثغرة على حالة حرجة (CRITICAL) بتقييم 9.8/10 وفقًا لمقياس CVSS 3.1.



التفاصيل الفنية

ترتبط الثغرة (CVE-2023-...) بفيضان المخزن المؤقت في الوحدة النمطية parseResponse. عند معالجة رؤوس HTTP بطول غير صحيح، لا تتحقق المكتبة من حدود الذاكرة المخصصة، مما يؤدي إلى:



  • تسرب الذاكرة – في كل محاولة فاشلة للتحليل، يتم تخصيص كتلة ذاكرة جديدة دون تحرير الكتلة السابقة.
  • إمكانية تنفيذ التعليمات البرمجية عن بُعد (RCE) – يمكن للمهاجم إرسال طلب مُصمم خصيصًا يعيد كتابة أجزاء الذاكرة المجاورة، مستبدلاً المؤشرات إلى الدوال.
  • رفض الخدمة (DoS) – عند إرسال حزم ضارة بشكل جماعي، يستنفد الخادم الذاكرة المتاحة بسرعة ويتوقف عن العمل بشكل غير متوقع.


من المتأثر بهذا؟

جميع المشاريع التي تستخدم إصدارات المكتبة v2.0.0 – v2.5.3 معرضة للخطر. الأكثر عرضة للخطر:



  • خوادم الويب وبوابات API المكتوبة بلغة Go.
  • أدوات جمع المقاييس (مثل أدوات تصدير Prometheus، إذا كانت تستخدم هذه المكتبة).
  • أدوات سطر الأوامر (CLI) للعمل مع موفري الخدمات السحابية.


توصيات الحماية

أصدر فريق تطوير المكتبة بالفعل تصحيحًا في الإصدار v2.6.0. يُوصى بشدة لجميع المستخدمين:



  • التحديث فورًا التبعية إلى أحدث إصدار مستقر: go get -u github.com/example/vuln-lib@v2.6.0.
  • فحص السجلات بحثًا عن طلبات مشبوهة برؤوس طويلة بشكل غير طبيعي (طول > 8 كيلوبايت).
  • تنفيذ جدار حماية تطبيقات الويب (WAF) لمنع الهجمات قبل وصولها إلى الخادم.
  • إجراء تدقيق للكود لجميع التبعيات الخارجية للمشروع باستخدام أدوات التحليل الثابت (مثل gosec أو govulncheck).


ماذا تفعل إذا كنت قد تأثرت بالفعل؟

إذا كنت تشتبه في أن خادمك قد تم اختراقه:



  1. اعزل الخادم المعرض للخطر عن الشبكة فورًا.
  2. تحقق من سلامة نظام الملفات (باستخدام الأمر sha256sum للملفات الثنائية).
  3. قم بتغيير جميع مفاتيح API وكلمات المرور التي قد تكون تم اعتراضها.
  4. اتصل بفريق

المكتبات الموصى بها