CVE-2026-19553
SSLContext.wrap_bio() يفتقر إلى التحقق من معامل server_hostname
- تم النشر
- 30/09/2026
- محدث
- 30/09/2026
- تخصيص CNA
- PSF
- الأدلة المرصودة
- 02/10/2026
CVSS الأساسي
nvd · CVSS 4.0
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:Xملخص
لم يكن `ssl.SSLContext.wrap_bio()` يشترط ألا تكون وسيطة server_hostname مساوية لـ None إذا تم تعيين `ssl.SSLContext.check_hostname`. بسبب غياب فحص المعاملات في SSLObject، إذا لم يتم تمرير وسيطة server_hostname فسيتم تخطي التحقق من اسم المضيف بصمت. قد يؤدي هذا العيب إلى برامج يبدو فيها التحقق من اسم المضيف في الشهادة *ناجحًا* مع SSLContext.check_hostname = True وعدم رفع ValueError بسبب سوء التكوين. إذا مرّر البرنامج قيمة server_hostname ليست سلسلة فارغة أو None إلى أي من هذه الواجهات البرمجية فإن التحقق من اسم المضيف في الشهادة يستمر كما هو متوقع ولا يتأثر البرنامج بهذه الثغرة. لا يتطلب تخفيف هذه الثغرة تحديث Python أو تطبيق التصحيح. للتخفيف، مرّر قيمة server_hostname صالحة غير None وغير فارغة إلى SSLContext.wrap_bio() أو asyncio.create_connection() أو asyncio.loop.start_tls() وسيستمر التحقق من اسم المضيف في الشهادة كما هو متوقع. إن الترقية إلى أحدث إصدار من Python أو تطبيق التصحيح يغيّر فقط السلوك من تخطي التحقق من اسم المضيف بصمت إلى رفع ValueError، على غرار SSLContext.wrap_socket()، عندما لا يتم تمرير server_hostname.
المصادر
مختبر إثبات مفهوم يعيد إنتاج CVE-2026-19553، حيث يتخطى CPython ssl.SSLContext.wrap_bio() التحقق من اسم مضيف TLS بصمت عندما يكون server_hostname هو None.
الاستخدام المسؤول
استخدم معلومات الثغرات الأمنية فقط على الأنظمة التي تمتلكها أو المرخص لها باختبارها. يرتبط Kitploit ببيانات تعريف البحث العامة ولا يخزن أكواد الاستغلال أو الحمولات الضارة.