Successfully using libcurl to do a transfer over a specific HTTP proxy
(`proxyA`) with **Digest** authentication and then changing the proxy host to
a second one (`proxyB`) for a second transfer, reusing the same handle, makes
libcurl wrongly pass on the `Proxy-Authorization:` header field meant for
`proxyA`, to `proxyB`.
libcurl incorrectly forwards Proxy-Authorization headers intended for one HTTP proxy to a different proxy when reusing the same connection handle. This authentication bypass vulnerability could allow an attacker controlling a second proxy to intercept credentials meant for the original proxy.
يحدث الضعف عندما يتم استخدام مقبض libcurl نفسه لنقل بيانات عبر وكيلين مختلفين مع مصادقة Digest. رأس Proxy-Authorization المخصص للوكيل الأول يتم تمريره بشكل خاطئ إلى الوكيل الثاني، مما قد يؤدي إلى تسرب بيانات اعتماد المصادقة.
عند استخدام libcurl لنقل بيانات عبر وكيل HTTP معين باستخدام مصادقة Digest ثم تغيير المضيف الوكيل إلى آخر مع إعادة استخدام نفس المقبض، يقوم libcurl بشكل خاطئ بتمرير رأس Proxy-Authorization إلى الوكيل الثاني. قد يسمح هذا الضعف بتسرب بيانات المصادقة إلى وكيل غير موثوق.
Update libcurl to the latest patched version that properly clears Proxy-Authorization headers when switching proxy hosts. Implement proxy validation and avoid reusing connection handles across different proxy endpoints in production environments.
قم بتحديث libcurl إلى أحدث إصدار مصحح يقوم بمسح رؤوس Proxy-Authorization بشكل صحيح عند تبديل مضيفي الوكيل. تجنب إعادة استخدام مقابض الاتصال عبر نقاط نهاية وكيل مختلفة وتطبيق التحقق من صحة الوكيل.