
إثبات مفهوم لـ 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[::1%25.example.com]يمكن استغلال هذه الثغرة لإرسال الطلبات مباشرة إلى الخدمات الداخلية أو المحلية مع تجنب الوكلاء المكونين، حتى لو كانت النطاقات محمية افتراضيًا بواسطة 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.