
إثبات مفهوم لـ CVE-2025-22870 يوضح تجاوز الوكيل HTTP في الإصدارات الضعيفة (<0.36.0) من golang.org/x/net/http/httpproxy. يستغل تحليل معرف منطقة IPv6 غير الصحيح لتجاوز قيود NO_PROXY، مما يتيح تجاوز الوكيل واحتمال حدوث SSRF في بيئات غير مهيأة بشكل صحيح.
يُظهر هذا الإثبات المفاهيمي استغلال CVE-2025-22870، وهي ثغرة في حزمة golang.org/x/net/http/httpproxy (قبل الإصدار v0.36.0)، والتي يمكن استخدامها لتجاوز قيود وكيل HTTP من خلال إساءة استخدام طريقة مطابقة معرفات منطقة IPv6 مع أنماط NO_PROXY.
golang.org/x/net/http/httpproxyعند تعيين متغير البيئة NO_PROXY لتقييد توجيه نطاقات معينة عبر وكيل (مثل NO_PROXY=*.example.com)، قد يتطابق طلب مصمم خصيصًا لمضيف يحتوي على معرف منطقة IPv6 (مثل [::1%25.example.com]) بشكل غير صحيح ويتجنب التوجيه عبر الوكيل. ينتج عن ذلك تجاوز الوكيل، مما قد يسمح بـ تزوير طلب من الخادم (SSRF) في ظل ظروف معينة.
يمكن استغلال هذه الثغرة لإرسال الطلبات مباشرة إلى الخدمات الداخلية أو المحلية مع تجنب الوكلاء المكونين، حتى لو كانت النطاقات محمية افتراضيًا بواسطة NO_PROXY.
يستغل الإثبات المفاهيمي ثغرة في حزمة golang.org/x/net/http/httpproxy، وتحديدًا في طريقة تحليلها لمعرفات منطقة IPv6 عند المطابقة مع قواعد NO_PROXY.
الحمولة المستخدمة هي:
[::1%25.example.com]:https://raw.githubusercontent.com/joshuaprovoste/cve-2025-22870/main/7777
بسبب خطأ التحليل في الحزمة المعرضة للخطر، يتجاوز هذا العنوان الوكيل على الرغم من مطابقته لـ NO_PROXY.