Jupyter Server is the backend for Jupyter web applications. In versions 2.17.0 and earlier, the Origin header validation uses Python's re.match() to check incoming origins against the allow_origin_pat configuration value. Because re.match() only anchors at the start of the string and does not require a full match, a pattern intended to match only a trusted domain (e.g., trusted.example.com) will also match any origin that begins with that domain followed by additional characters (e.g., trusted.example.com.evil.com). An attacker who controls such a domain can bypass the CORS origin restriction and make cross-origin requests to the Jupyter Server API from an untrusted site. This issue has been fixed in version 2.18.0.
Jupyter Server versions 2.17.0 and earlier contain a CORS origin validation bypass due to improper use of regex matching that allows attackers to bypass origin restrictions. An attacker controlling a domain matching the trusted pattern can make unauthorized cross-origin requests to the Jupyter Server API.
يستخدم خادم Jupyter دالة re.match() التي تتحقق فقط من بداية السلسلة دون ضمان المطابقة الكاملة، مما يسمح بتجاوز قيود الأصل. يمكن لمهاجم يتحكم في نطاق فرعي مثل trusted.example.com.evil.com تجاوز التحقق والوصول إلى واجهة برمجة التطبيقات.
خادم Jupyter الإصدارات 2.17.0 وأقدم يحتوي على ثغرة تجاوز التحقق من أصل CORS بسبب استخدام غير صحيح لمطابقة التعبيرات العادية. يمكن للمهاجم التحكم في نطاق مطابق للنمط الموثوق به تقديم طلبات عبر الأصول غير المصرح بها.
Upgrade Jupyter Server to version 2.18.0 or later immediately. Review and update allow_origin_pat configuration to use anchored regex patterns with full string matching (use $ anchor at end). Implement additional CORS validation checks and monitor for suspicious cross-origin requests.
قم بترقية خادم Jupyter إلى الإصدار 2.18.0 أو أحدث فوراً. راجع وحدّث تكوين allow_origin_pat لاستخدام أنماط regex مثبتة مع مطابقة السلسلة الكاملة. قم بتنفيذ فحوصات التحقق من CORS الإضافية ومراقبة الطلبات المريبة عبر الأصول.