← Blog
🛡️ ثغرة21 أكتوبر 2026

CVE-2026-102989: XSS حرج دون مصادقة في TanStack Start

ثغرة حرجة (CVSS 9.3) من نوع XSS المنعكس في TanStack Start دون الحاجة إلى مصادقة. ما هي، ومن تتأثر بها، وكيف تحمي نفسك منها.

OCIRIA security team

CVE-2026-102989: XSS حرج دون مصادقة في TanStack Start

باختصار

تم الإعلان عن ثغرة حرجة، معروفة بالمعرّف CVE-2026-102989، بدرجة خطورة CVSS تبلغ 9.3 من 10 [1]، تؤثر على تطبيقات الويب المبنية باستخدام TanStack Start. يتيح هذا الخلل لمهاجم، دون الحاجة إلى بيانات اعتماد أو حساب مستخدم، أن يجعل التطبيق يعرض صفحة تحتوي على محتوى مُتحكَّم فيه من نفس نطاق الشركة، وهو ما قد يؤدي إلى سرقة بيانات أو تنفيذ إجراءات غير مصرّح بها باسم الضحية. إذا كان فريق التطوير لديكم يستخدم هذا الـ framework، فالتوصية الفورية هي التحديث إلى الإصدارات المُصححة ومراجعة التطبيقات الموجودة في بيئة الإنتاج التي تستخدمه.

ما هي هذه الثغرة ولماذا هي مهمة

TanStack Start هو framework لبناء تطبيقات ويب تجمع بين منطق العميل (client) والخادم (server)، ومتوفر في إصدارات لكل من React وSolid وVue. تكمن الثغرة في طريقة معالجة "دوال الخادم" (server functions) للطلبات: يمكن للمهاجم أن يُدرج في الطلب حقولًا لا يفترض أن تكون قابلة للتعديل من الخارج، بحيث ينتهي الأمر بالحالة الداخلية للتطبيق إلى قبول كائن (object) على هيئة استجابة HTTP كما لو كان استجابة شرعية [1]. والنتيجة العملية هي أن رابطًا (URL) مُصاغًا خصيصًا يمكن أن يجعل التطبيق يعرض HTML يتحكم فيه المهاجم، بما في ذلك كود JavaScript، يُقدَّم من نطاق الشركة الحقيقي.

وفقًا لتحليل فريق OCIRIA، يتعلق الأمر بحقن XSS (cross-site scripting) منعكس لا يتطلب مصادقة مسبقة من جانب المهاجم، وهو ما يجعله حساسًا بشكل خاص: يكفي أن يضغط مستخدم شرعي على رابط مُعدَّل حتى يُنفَّذ الكود في متصفحه، مع إمكانية الوصول إلى بيانات المصدر نفسه (same origin) والقدرة على تنفيذ طلبات بهوية ذلك الشخص.

تم نشر الثغرة في 13 أكتوبر 2026 [1] وهي مصنَّفة كـ"حرجة" وفقًا لمعايير NVD [1]. حتى تاريخ نشر هذا المقال، لا تظهر الثغرة في كتالوج الثغرات المُستغَلة فعليًا (KEV) التابع لـ CISA [2]، وهو ما يشير إلى عدم وجود دليل علني على استغلال واسع مؤكد، لكن هذا قد يتغير ولا ينبغي تفسيره على أنه غياب للخطر.

من تتأثر به

تؤثر المشكلة على الحزم التالية من منظومة TanStack Start، في نطاقات الإصدارات المذكورة قبل تصحيحها [3]:

  • @tanstack/start-server-core: من 1.143.12 حتى 1.169.39
  • @tanstack/react-start: حتى 1.168.60
  • @tanstack/solid-start: حتى 1.168.57
  • @tanstack/vue-start: حتى 1.168.56

أي منظمة تملك تطبيقات ويب خاصة بها أو مُطوَّرة من قِبل جهات خارجية ومبنية على أي من هذه الحزم تكون معرّضة للخطر بشكل محتمل، بغض النظر عن حجم الشركة أو القطاع الذي تنتمي إليه. لا يتعلق الأمر بمنتج تجاري محدد من مزوّد ما، بل بعنصر من بنية التطوير التحتية يمكن أن يكون مدمجًا في بوابات العملاء، أو الشبكات الداخلية (intranets)، أو لوحات التحكم الإدارية، أو تطبيقات الهاتف المحمول ذات واجهة خلفية (backend) ويب.

كيف تعرف إن كنت معرّضًا للثغرة

الخطوة الأولى هي سؤال من يقوم بتطوير أو صيانة تطبيقات الويب الخاصة بكم عن استخدامهم لـ TanStack Start، وإن كان الأمر كذلك، أي إصدار من الحزم المتأثرة مُثبَّت لديهم. مراجعة ملف التبعيات (package.json أو ملف القفل (lockfile) المقابل) تكون كافية في العادة لتحديد الإصدار الدقيق.

من المستحسن أيضًا التحقق من التطبيقات والنطاقات الفرعية (subdomains) الخاصة بالشركة المكشوفة علنًا على الإنترنت، إذ لا يكون سجل الأصول الرقمية الكامل موثّقًا دائمًا بشكل محدث، خصوصًا في المنظمات التي تضم عدة فرق تطوير أو جهات خارجية متعاقدة. معرفة السطح الحقيقي المكشوف هي نقطة الانطلاق لتحديد أولويات المراجعة.

كيف تحمي نفسك

1. حدّد إن كان أي تطبيق تابع للشركة يستخدم TanStack Start وما هو إصداره.

2. قم بالتحديث إلى الإصدارات المُصححة في أقرب وقت ممكن: @tanstack/start-server-core 1.169.39، أو @tanstack/react-start 1.168.60، أو @tanstack/solid-start 1.168.57، أو @tanstack/vue-start 1.168.56، حسب الحزمة التي تستخدمها [3].

3. إن لم تتمكن من التحديث فورًا، اطلب من فريقك التقني أو مزوّدك مراجعة منطق التحقق من الصحة (validation) في دوال الخادم كتدبير مؤقت.

4. راجع التطبيقات في بيئة الإنتاج بعد التحديث للتأكد من أن السلوك كما هو متوقع.

5. راجع بشكل دوري التقنيات والإصدارات التي تستخدمها تطبيقاتكم المكشوفة، لا فقط عند صدور تنبيه معين.

الأسئلة الشائعة

هل أحتاج إلى حساب أو بيانات اعتماد مخترقة لأكون ضحية لهذا الهجوم؟

لا. لا يتطلب الخلل مصادقة من جانب المهاجم لصياغة الرابط الخبيث؛ تحتاج الضحية فقط إلى زيارته [1].

هل يتم استغلال هذه الثغرة فعليًا حاليًا؟

حتى اليوم، لا تظهر في كتالوج KEV التابع لـ CISA، الذي يجمع الثغرات ذات الاستغلال المؤكد [2]. هذا لا يضمن عدم استغلالها في المستقبل، لذا يُنصح بالتعامل معها بنفس الأولوية التي تُعطى لأي خلل حرج.

هل تؤثر فقط على من يستخدم React؟

لا. تؤثر أيضًا على إصدارات Solid وVue من الـ framework، بالإضافة إلى الحزمة المركزية للخادم [3].

المصادر

  • [1] https://nvd.nist.gov/vuln/detail/CVE-2026-102989
  • [2] https://raw.githubusercontent.com/cisagov/kev-data/develop/known_exploited_vulnerabilities.json
  • [3] https://github.com/advisories/GHSA-qx66-fv34-fjm8
OCIRIA security team Threat monitoring & response · data from our real-time radar Live radar