اكتشف باحثو الأمن ثغرة جديدة تسمى ParseThru حيث تؤثر معلمة ParseThru وتؤثر على التطبيقات المستندة إلى Golang والتي يمكن إساءة استخدامها للحصول على وصول غير مصرح به إلى التطبيقات المستندة إلى مجموعة النظراء.
قالت شركة الأمن السيبراني الإسرائيلية Oxeye في تقرير تمت مشاركته مع The Hacker News. “تسمح الثغرة المكتشفة حديثًا للجهات الفاعلة بالتهديد بتجاوز عمليات التحقق في ظل ظروف معينة. نتيجة لاستخدام طرق تحليل عناوين URL غير الآمنة المبنية في اللغة”.
كما. تتعلق المشكلة. في جوهرها. بالتناقضات الناتجة عن التغييرات التي تم إدخالها على منطق تحليل عنوان URL الخاص بـ Golang والذي تم تنفيذه في مكتبة “net / url”.
في حين أن إصدارات لغة البرمجة قبل 1.17 تعاملت مع الفواصل المنقوطة كمحدد استعلام صالح (على سبيل المثال. example.com؟a=1؛b=2&c=3). تم تعديل هذا السلوك منذ ذلك الحين لإلقاء خطأ عند العثور على سلسلة استعلام تحتوي على فاصلة منقوطة.
علامة العطف
“حزم net / url و net / http المستخدمة لقبول”. “(فاصلة منقوطة) كفاصل إعداد في استعلامات URL. بالإضافة إلى” & “(علامة العطف). وفقًا لملاحظات الإصدار للإصدار 1.17 التي تم إصدارها في أغسطس الماضي.
“الآن. يتم رفض الإعدادات التي تحتوي على فواصل منقوطة غير مشفرة بنسبة مئوية وستقوم خوادم net / http بتسجيل تحذير إلى” Server.ErrorLog “عند مواجهة أحدها في عنوان URL للطلب.”
تنشأ المشكلة عندما تتواصل واجهة برمجة التطبيقات العامة المستندة إلى Golang والمبنية على إصدار أكبر من 1.17 مع خدمة داخلية تشغل Golang قبل 1.17. مما يؤدي إلى سيناريو يمكن فيه لممثل ضار تهريب الطلبات التي تتضمن معلمات الاستعلام التي سيتم رفضها بخلاف ذلك حيث تؤثر معلمة ParseThru .
بينما قالت Oxeye إنها حددت عدة حالات من ParseThru في مشاريع مفتوحة المصدر مثل Harbour و Traefik و Skipper. مما جعل من الممكن تجاوز عمليات التحقق الموضوعة وتنفيذ إجراءات غير مصرح بها.
هذه ليست المرة الأولى التي يطرح فيها تحليل عنوان URL مشكلة أمنية. في وقت سابق من شهر يناير. كشف كلاروتي وسنيك عن ثمانية عيوب في مكتبات الطرف الثالث مكتوبة بلغات C و JavaScript و PHP و Python و Ruby والتي نشأت نتيجة للارتباك في تحليل عناوين URL.