CVE-2026-69245 in Guzzle
الملخص
بحسب VulDB • 03/08/2026
Guzzle هو عميل HTTP قابل للتوسيع في PHP. قبل الإصدارين 7.15.2 و 8.0.1، تقوم الدالة SetCookie::matchesDomain() بإسناد كل نطاق فرعي من نطاق (Domain) الخاص بـ cookie إلى هذا الـ cookie ما لم تعترف SetCookie::matchesDomain() بالنطاق على أنه حرف ثابت لعنوان IP أو مضيف رقمي، ويأتي القرار بناءً على النص الخاص بالنطاق نفسه؛ لذا فإن التهجئتين اللتين تقرأهما عملية النقل كعنوان تحافظان على نطاق النطاق الفرعي. لا يتم التعرف على الأشكال السداسية عشرية والمختلطة القواعد مثل 0x7f000001 و 0177.0.0.0x1، بينما يقرأ libcurl الإصدار 8.21.0 كلاهما كـ 127.0.0.1. يحافظ نطاق (Domain) الذي يحتوي على هروب بالمئويات (%) على هذا النطاق في كلتا الحالتين لأن فك الترميز بالمئة يقع فوق التحليل الرقمي، لذا فإن 192.168.0.%31 و 127.0.0.1%2e تُعتبر أسماء مسجلة في قواعد النحو لـ URI وليست أحرفاً ثابتة للعناوين، ولا تصنفها أي قاعدة رقمية ضمن أي فئة أساسية، بينما يقوم libcurl بفك ترميز المضيف قبل الحل ويقرأهما كـ 192.168.0.1 و 127.0.0.1. يتم وضع cookie مخزن للنطاق Domain=0x7f000001 في رأس (Header) الطلب Cookie عند إرسال طلب إلى evil.0x7f000001، مما يؤدي إلى كشف معرّف الجلسة أو الرمز المميز لمضيف ليس هو ذلك العنوان، ويتم قبول الاستجابة من evil.0x7f000001 التي تحدد Domain=0x7f000001 في المخزن (jar) وإعادة تشغيلها نحو العنوان؛ لذا يمكن لخادم يجيب على الاسم المشابه أن يثبت جلسة أو يضبط حالة التطبيق. يتطلب استغلال هذه الثغرة تمكين التطبيق لدعم ملفات تعريف الارتباط، وعنوان المصدر بإحدى هذه التهجئات، والاتصال بمضيف ينتهي اسمه بتلك التهجئة. تمت معالجة هذه المشكلة في الإصدارين 7.15.2 و 8.0.1.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.