PT-2026-69105
CVE-2026-71850
·
تاريخ النشر
2026-08-07
·
تاريخ التحديث
2026-10-23
الوصف من
CVSS 3.1
4.8
متوسطةالمقاييسAV:N/AC:H/PR:L/UI:R/S:U/C:H/I:N/A:N
اسم البرنامج المعرض للخطر والإصدارات المتأثرة
إصدارات Hono من 3.8.0 إلى 4.12.33
الوصف
تحتفظ الدالة
memo() من hono/jsx بنتيجة العرض من جانب الخادم وتعيد استخدامها في عمليات العرض اللاحقة عندما تكون الخصائص متطابقة. ونظرًا لأن القيم ذات نطاق الطلب التي تُقرأ داخل المكون لا يتم تضمينها في هذه المقارنة، فقد تحتوي الاستجابة على HTML تم عرضه لطلب مستخدم آخر. يحدث هذا عندما تقوم المكونات المغلفة بـ memo() بقراءة البيانات ضمناً أثناء العرض عبر createContext() أو useContext() أو useRequestContext() من hono/jsx-renderer، أو getContext() من hono/context-storage، بدلاً من تلقي تلك البيانات عبر الخصائص (props). ونتيجةً لذلك، تستمر النتيجة المحتفظ بها لفترة أطول من الطلب الذي أنتجها، مما قد يؤدي إلى الكشف عن بيانات حساب أو ملف تعريف مستخدم آخر، أو أسرار نطاق الطلب مثل رموز CSRF، أو محتوى خاص بدور معين إذا وصل كلا المستخدمين إلى نفس المثيل الدافئ (warm instance) مع خصائص (props) متطابقة.التوصيات
قم بالتحديث إلى الإصدار 4.12.34.
كحل مؤقت، تجنب تغليف المكونات التي تقرأ حالة الطلب المحيطة في دالة
memo() أو تأكد من تمرير جميع القيم الخاصة بالطلب بشكل صريح عبر props. وجدت خطأً في الوصف؟ لديك ما تضيفه؟ لا تتردد في مراسلتنا 👾