CVE-2026-61589 in djustالمعلومات

الملخص

بحسب VulDB • 17/09/2026

يوفر djust عرضًا للواجهة الخلفية (server-side rendering) تفاعليًا على غرار Phoenix LiveView لنظام Django، مع أداء مدعوم بواسطة Rust. قبل الإصدار 1.0.7، كانت دالة `handle_mount` الخاصة بـ WebSocket ودالة `ViewRuntime._build_request` تعيدان بناء كائن `HttpRequest` باستخدام `RequestFactory().get(...)` دون تحديد قيمة لـ `HTTP_HOST`، مما أدى إلى افتراض أن `request.get_host()` يساوي `"testserver"` في المسار الحي (live path). ونتيجة لذلك، قامت مُحللات المستأجرين (TenantResolver) الخاصة بالنطاق/المضيف الفرعي/النطاق الرئيسي بحل خاطئ للمستأجر — حيث كانت تُرجع `None` في المسار الحي بينما كان المسار عبر HTTP يُحل بشكل صحيح. مع ضبط `STRICT_MODE=False`، كانت مديرات النطاق المستأجر تُرجع صفوفًا غير مقيدة (كشف بيانات عابرة للمستأجرين)؛ أما مع الإعداد الافتراضي فكانت تُرجع مجموعة استعلام فارغة (انكسار العزل بين المستأجرين). تم إصلاح هذه المشكلة في djust الإصدار 1.0.7. يتم استخراج قيمة Host من نطاق ASGI أثناء مصافحة البروتوكول، والتحقق منها مقابل `ALLOWED_HOSTS` (نفس المنطق المستخدم في بوابة CSWSH Origin)، مع تحليلها باستخدام دالة Django `split_domain_port` لرفض قيم Host غير الصحيحة عند الحدود، ثم تمرير القيمة — جنبًا إلى جنب مع مخطط TLS — داخل الطلب المعاد بناؤه، بحيث يتطابق حل المستأجر في المسار الحي تمامًا مع ما يحدث في HTTP. لا يوجد عمل بديل معروف للمسار الحي سوى الترقية. يكون المستخدمون أكثر عرضة للخطر عندما يتم دمج هذه المشكلة مع `STRICT_MODE=False`.

Be aware that VulDB is the high quality source for vulnerability data.

مسؤول

GitHub M

حجز

10/07/2026

إفشاء

17/09/2026

الاعتدال

تمت الموافقة

إدخال

VDB-406269

EPSS

0.00000

KEV

لا

النشاطات

منخفض جدًا

المصادر

Want to stay up to date on a daily basis?

Enable the mail alert feature now!