
CVE-2026-75130: خادم توثيق MCP الخاص بـ Context7 يسجل 9.0، ولا يذكر السجل أي إصدار مُصلَح
- OrcaجديدOrcaCyber: MiniMax M3.1 Flash Abliterated2026-10-29131 tok/s
- OrcaجديدOrcaCyber: GLM 5.3 Flash Abliterated2026-10-2792 tok/s
- OrcaجديدOrcaCyber: Qwen3.8 Flash Next Abliterated2026-10-26$0.80 / $1.60 لكل مليون رمز · 260 tok/s
- OrcaجديدOrcaCyber: MiMo V2.6 Flash Abliterated2026-10-26$0.80 / $1.60 لكل مليون رمز · 92 tok/s
- MoonshotجديدMoonshotAI: Kimi K3.1 Pro2026-10-2446الذكاء
- OrcaجديدOrcaCyber: DeepSeek V4.1 Flash Abliterated2026-10-23$0.80 / $1.60 لكل مليون رمز · 104 tok/s
- minimaxجديدMiniMax: M3.1 Flash2026-10-1929الذكاء
- OrcaجديدOrca: OrcaCyber Ultra 1.02026-10-17$5.00 / $10.00 لكل مليون رمز · 65 tok/s
- deepseekجديدDeepSeek: DeepSeek V4.1 Flash 10172026-10-1733الذكاء
- DeepSeekجديدDeepSeek: DeepSeek V4.1 Flash2026-10-1740الذكاء
- OrcaOrca: OrcaCyber Zero 1.52026-10-10$3.00 / $7.50 لكل مليون رمز · 101 tok/s
- openaiOpenAI: GPT-6.1 Sol2026-09-2955الذكاء
- anthropicAnthropic: Claude Sonnet 5.52026-09-2854الذكاء
- typesafeTypeSafe: Jev 1.132026-09-24$0.04 / $0.00 لكل مليون رمز · 180 tok/s
- OpenAIOpenAI: GPT-6 Luna2026-09-2228الذكاء
- OpenAIOpenAI: GPT-6 Sol2026-09-2248الذكاء
- AnthropicAnthropic: Claude Opus 5.52026-09-2258الذكاء
- xiaomiXiaomi: MiMo-V2.6-Flash2026-09-2127الذكاء
- xiaomiXiaomi: MiMo-V2.6-Pro2026-09-2130الذكاء
- xAIGrok 4.72026-09-2134الذكاء
في 18 أغسطس 2026، نشرت VulnCheck الثغرة CVE-2026-75130 المتعلقة بـ Context7، خادم توثيق المكتبات الذي تديره Upstash من أجل Model Context Protocol والذي تستعلم عنه وكلاء البرمجة للحصول على وثائق خاصة بإصدار معيّن. تكمن الثغرة في الميزة التي تسميها Upstash Custom AI Instructions: يُرفق مالك مكتبة إرشادات بمدخل توثيق، ويقدّم Context7 تلك الإرشادات داخل نافذة السياق لكل وكيل يبحث عن المكتبة، ولا شيء في ذلك المسار ينقّيها. أثبتت Noma Security — التي يُنسب إلى باحثها الأول في ثغرات الذكاء الاصطناعي Eli Ainhorn فضل اكتشافها — أن مدخلًا ملوّثًا يمكن أن يجعل وكيلًا متصلًا يقرأ ملفات .env في جذر المشروع، ويرسل محتوياتها إلى مستودع GitHub يتحكم فيه المهاجم كبلاغ issue، ويحذف مجلدات محلية تحت ذريعة «تنظيف» — كل ذلك من طلب توثيق روتيني. ولم يُسجَّل أي ضحية. أما بقية حوادث الوكلاء الموثّقة، ولكل منها خطورتها ودرجة ثقتها وعلامة الخلاف الخاصة بها، فتقع في أرشيف حوادث الذكاء الاصطناعي، حيث يمكن قراءة المدخلات المجاورة لهذا السجل بجانبه.
خادم Context7 صغير، وهذا هو الجزء الذي يستحق الفهم أولاً. تشير تدوينة Noma إلى أنه يتيح أداتين، resolve-library-id وquery-docs، وأنه لا يستطيع تنفيذ التعليمات البرمجية أو كتابة الملفات أو الوصول إلى الشبكة بمفرده. كل تأثير موثّق ينفّذه الوكيل الموجود في الطرف الآخر، وهو يملك بالفعل إمكانية الوصول إلى نظام الملفات والصدفة والشبكة على جهاز المطوّر. يُظهر سجل npm حجم القاعدة المثبّتة: @upstash/context7-mcp نُزّلت 4,064,176 مرة خلال الثلاثين يومًا الممتدة من 22 يوليو إلى 20 أغسطس 2026، وهي الفترة المحيطة بالنشر.
الآلية: مكتبة واحدة مسمومة، وكل وكيل يستعلم منها
جرى عرض Noma التوضيحي، الموصوف في تقرير ContextCrush الخاص به بتاريخ 5 مارس 2026، في ثلاث خطوات ينفذها الوكيل بدلاً من الخادم. سجّل مكتبة في سجل Context7 مع قواعد مسمومة مرفقة بها. وجّهت تعليمات في تلك القواعد الوكيل إلى البحث عن وقراءة كل ملف .env في جذر المشروع؛ كما وجّهته تعليمات أخرى إلى نشر المحتويات في مستودع GitHub يتحكم فيه المهاجم كمسألة؛ وأمرته مجموعة تعليمات أخيرة بحذف المجلدات والملفات المحلية بغرض «التنظيف». أما الطلب الذي يضع كل هذا في السياق فهو طلب عادي — مجرد طلب مساعدة من مساعد برمجي بشأن مكتبة.
سببُ اعتبار هذه مشكلةَ سلسلة توريد بدلاً من حقن أوامر عادي هو موضع وجود الحمولة. فالمهاجم لا يصل أبداً إلى جهاز الضحية ولا يضطر إلى زرع نص في مستند يفتحه المستخدم. تقع التعليمات المسمومة في سجل Context7 نفسه، ويُستضاف ويُقدَّم عبر البنية التحتية الخاصة بـ Context7، ويصل عبر القناة الموثوقة نفسها التي تصل منها الوثائق المشروعة، بلا قدرة على تمييزه عنها. وتشير Noma إلى أن درجة الثقة لدى Context7، التي تقيّم المكتبات استناداً إلى سجل GitHub الكامن خلفها، لا تحمي من ذلك، لأن حساباً طويل الأمد يمكن شراؤه أو اختطافه أو تصنيعه. وملخص الشركة نفسه للنقطة البنيوية صريح: «سطح الهجوم ليس ما يستطيع خادم MCP فعله. بل ما يستطيع أن يجعل وكيل الذكاء الاصطناعي يفعله.»
درجتان لخلل واحد
تحتوي الاستشارة على CVSS 3.1 9.0 (حرجة) وCVSS 4.0 6.4 (متوسطة). وفّرت VulnCheck كلا المتجهين بصفتها جهة الإسناد CNA، ويحمل NVD كليهما دون تغيير، وينسب كلًّا منهما إلى VulnCheck. هذا الانقسام ليس خطأً؛ بل هو احتساب الإطارين للضرر نفسه على أجهزة مختلفة. يشير CVSS 3.1 إلى أن Scope قد تغيّر — إذ ينتقل الحقن من الخادم إلى جهاز المطوّر وما بعده — ولذلك يسجّل التأثير العالي الكامل على السرية والنزاهة والتوفر الناتج عن قدرات الوكيل بالوزن الكامل. تستبدل CVSS 4.0 النطاق بمقاييس منفصلة للنظام المعرّض والنظام اللاحق: فلا تسجّل أي تأثير على السرية أو النزاهة أو التوفر على Context7 نفسه (VC:N/VI:N/VA:N) وتأثيرًا عاليًا على الأنظمة اللاحقة (SC:H/SI:H/SA:H)، وهو ما توزنه صيغتها بثقل أقل. الخادم هو الناقل، وليس الضحية.
ينتشر التباين إلى قواعد البيانات. نُشرت استشارة GitHub، GHSA-97r6-3rgm-v39r، في الساعة 18:32 UTC يوم 18 أغسطس، أي بعد نصف ساعة من CVE، وتأتي شدته الملخّصَة متوسطة مع أن متجه CVSS 3.1 في السجل نفسه يمنح 9.0. تعكس قاعدة بيانات الثغرات الأوروبية لدى ENISA المدخل باسم EUVD-2026-61099 وتخزّن درجة أساس قدرها 6.4 تحت الإصدار 4.0 فقط. يمنح سجل الأرشيف الذي يتبعُه هذا المقال الحادثة تصنيف عالية — وهو ليس أيًا من الدرجتين المنشورتين — وهو تصنيف الأرشيف، لا قياسًا خاصًا به.

ثغرة CVE نُشرت في أغسطس بشأن إفصاح مارس
تم حجز معرّف CVE في 17 أغسطس 2026 ونُشر في الساعة 18:02 UTC يوم 18 أغسطس، وهو التاريخ الذي يحمله السجل. وتحتوي حاوية CNA أيضًا على تاريخ ثانٍ لا يظهر في صفحات المجمّع: datePublic، 5 مارس 2026 — أي خمسة أشهر ونصف قبل أن يوجد المعرّف، وفي اليوم نفسه الذي نشرت فيه Noma ContextCrush. والمرجع التقني الوحيد في الإشعار الاستشاري هو ذلك المقال من مارس، الذي يضع VulnCheck عليه وسمَي الوصف التقني والاستغلال.
يشرح الجدول الزمني لإفصاح Noma الفجوة. فوفقًا له، أُبلغت Upstash بالثغرة في 18 فبراير 2026 مع تقرير كامل وإثبات مفهوم، ويسجل قبول Upstash للنتائج وبدءها المعالجة في 19 فبراير، ويقول إن إصلاحًا «نُشر في بيئة الإنتاج مع تعقيم القواعد وضوابط الحماية» في 23 فبراير، ويؤرخ الإفصاح العام والتحقق النهائي من جانب Noma في 5 مارس. وبحسب رواية Noma، جرى حل ثغرة فبراير في غضون أيام.
تتوافق تواريخ سجل npm مع ذلك الجدول الزمني على نحو يجعل النطاق المتأثر يبدو غريبًا. @upstash/context7-mcp 2.1.2 نُشر في 23 فبراير 2026 الساعة 10:06 UTC، وهو اليوم الذي يقول نومَا إن الإصلاح وصل فيه إلى الإنتاج؛ ويقول سطر سجل التغييرات الخاص به: «إزالة تحذير غير ضروري وتحديث أوصاف الأدوات.» 2.1.3 تبِع في 4 مارس 2026، أي في اليوم السابق لمقالة نومَا، مع ملاحظات حول رفض طلبات GET على نقاط نهاية MCP وإضافة حقل مصدر إلى نتائج البحث. ولا تذكر أي من ملاحظتي الإصدار التنقية أو ضوابط الحماية أو الحقن. ينتهي النطاق المتأثر لدى CNA عند 2.1.2، ما يجعل 2.1.3 أول إصدار خارج ذلك النطاق.
تتوافق ثلاثة تفسيرات مع تلك التواريخ، ولا يحدد VulnCheck ولا Noma أياً منها هو الصحيح. الأول، الذي طرحته Digital Applied في مقالتها بتاريخ 18 أغسطس وكررته AI Security Wire في 22 أغسطس، هو أن الإصلاح قد تراجع: فالبناء الذي حمل تصحيح فبراير يقع داخل النطاق المتأثر في أغسطس. والثاني هو أن النطاق مثبت ببساطة على البناء الذي اختبره الباحث، وأن 2.1.3، التي صدرت في اليوم السابق للإفصاح، هي الحد الحقيقي — وهو استنتاج تجريه عدة مجمّعات محتوى آلياً، بما فيها Feedly، التي تدرج «التحديث إلى الإصدار 2.1.3 أو أحدث» كإجراء تخفيف. والثالث هو أن إصلاح فبراير طُبّق حيث تُقدَّم القواعد بدلاً من حزمة العميل، وفي هذه الحالة لا يصف نطاق إصدار npm الإصلاح على الإطلاق. والإصلاح الأمني الصامت شائع بما يكفي بحيث لا يحسم غيابُ مدخل مطابق في سجل التغييرات شيئاً في أي من الاتجاهين.

ما هو ثابت، وما هو غير ثابت
• مُثبت في السجل الأساسي. معرّف CVE، ونشره في 18 أغسطس، وVulnCheck بوصفها CNA، وتصنيف CWE-1427 لعدم التحييد الصحيح للمدخلات المستخدمة في تلقين LLM، والإسناد إلى Eli Ainhorn من Noma Security، ونطاق متأثر من Context7 حتى 2.1.2.
• أثبتته أبحاث Noma. مسار الحقن عبر Custom AI Instructions، وإثبات المفهوم المكوّن من ثلاث خطوات، وملاحظة أن الخادم لا يكشف إلا عن resolve-library-id وquery-docs، والبيان بأنه لم تُلاحظ أي أدلة على استغلال ثغرة فبراير في البرية.
• أنشأه السجل. تاريخ نشر 2.1.2 في 23 فبراير 2026، وتاريخ نشر 2.1.3 في 4 مارس 2026، وسطر حزمة تجاوز منذ ذلك الحين 4.0 ليصل إلى 4.4.4 في 19 أكتوبر 2026.
• لم يُثبت: ما إذا كانت البناءات الحالية متأثرة. لا يذكر أي مصدر أن سلسلة 4.x معرّضة للخطر، ولا يذكر أي مصدر أنها خالية من الخطر. لا يسمّى سجل CVE ولا استشارة VulnCheck ولا استشارة GitHub أي إصدار مُصلَح، وقائمة نطاقات الإصدارات المعرّضة للخطر في استشارة GitHub فارغة.
• لم يثبت وجود أي ضحية أو استخدام فعلي في الميدان. يسجّل الأرشيف الضرر الفعلي بوصفه زائفًا. في 19 أغسطس، احتسبت CISA تعزيز السجل على أن الاستغلال «لا شيء»، وقابلية الأتمتة «لا»، والأثر التقني «كلي»؛ والعيب ليس في كتالوج KEV؛ وتسجل نسخة ENISA المرآة نسبة EPSS تبلغ 0.49 بالمئة. بحث Noma عرض توضيحي، وليس تقرير حادث.
• لم يُثبت: قراءة الانحدار نفسها. فهي تعتمد على مصادفة في التاريخ بين جدول زمني للإصلاح ومنشور npm، ولا يؤكد أي مصدر أولي أن مسار الكود نفسه فشل مرتين.

التدعيم: إعادة الصياغة، والصمت حيث يهم الأمر
الوثائق التي تتوافق مع السجل مستمدة منه إلى حد كبير. تعيد استشارة VulnCheck صياغة نص CVE وتضيف تصنيف الضعف وإسناد الفضل إلى الباحث. استشارة GitHub هي نسخة أخرى من التقديم نفسه، نُشرت في المساء ذاته، دون نطاقات إصدارات ودون مراجعة مستقلة. مدخل ENISA هو نسخة مطابقة. نشرت Digital Applied، إحدى المصدرين اللذين يستشهد بهما الأرشيف، تحليلها في 18 أغسطس وحدّثته في 22 أغسطس بعمليات سحب حديثة من السجل؛ ونشرت AI Security Wire مقالاً ثانياً في 22 أغسطس. كلتاهما تعيدان صياغة الاستشارة وتنقلان استنتاج الانحدار، ولا تدّعي أي منهما أنها تحققت منه بشكل مستقل.
لم نجد أي تغطية صحفية لـ CVE في 29 أكتوبر 2026 — لا يوجد خبر من BleepingComputer أو The Register أو SecurityWeek — وكانت النتائج صفحات مجمّعات CVE بدلًا من تقارير إخبارية. هذا الغياب مهم لكيفية قراءة السجل: يصنفه الأرشيف بدرجة A، موثقًا جيدًا بمصادر أولية متوافقة، والمصادر الأولية متوافقة بالفعل، لكن التوافق هنا بين سجل CNA والبحث الذي يستشهد به، وليس بين قياسين مستقلين. تضيف عدة صفحات مجمّعات ادعاءات لا تدعمها مصادرها؛ فمثلًا يذكر مدخل Feedly أن تصحيحًا متاح ويسمّي 2.1.3، وهو ما لا يفعله أي إشعار، بينما أعادت صفحة VulDB فحصًا للروبوت بدلًا من المحتوى ولم يكن بالإمكان قراءتها على الإطلاق.
ما الذي تغيّر، وما الذي لم يتغيّر
فيما يتعلق بخطأ فبراير، تحركت Upstash في غضون أيام: قُبل في 19 فبراير، وأُصلح في 23 فبراير، بحسب رواية Noma. أما بالنسبة لسجل أغسطس، فإن بيان المورّد الوحيد الذي يشير إليه CVE هو منشور على LinkedIn من Upstash، موسوم هناك باعتباره استشارة مورّد، ولم نتمكن من قراءة محتواه دون جلسة. لا توجد أي استشارة أمنية على GitHub مقتصرة على المستودع تحمل إصدارًا مُصلحًا، كما أن مدخل NVD موجود عند الحالة مؤجل بلا تهيئات CPE وآخر تعديل في 22 أكتوبر 2026، لذا فإن تحليل NVD نفسه ليس ضمن السجل.
واصلت الحزمة نفسها الصدور. بين 20 أبريل 2025 و23 أكتوبر 2026، نشر مستودع upstash/context7 عددًا قدره 163 إصدارًا، ولا تذكر أيٌّ من ملاحظاتها هذا الـCVE أو تصف تعقيم التعليمات المخصصة التي تحمل الحقن. وهذا سجل لما اختار القائمون على الصيانة تدوينه، وليس دليلًا على أنه لم يُصلَح شيء.
ما يتركه السجل لدى المشغّل هو إدارة التعرّض لا مجرّد خطّ تحديثات. تتّجه توصيات Noma إلى مراجعة تكاملات MCP وفحص ما يمرّ بين الوكيل والخادم أثناء التشغيل؛ أما الإجراءات التي تقترحها OpenCVE فهي الترقية، أو تعطيل ميزة Custom AI Instructions أو تقييدها، وإضافة التحقق من المدخلات إلى الخادم. والنسخة التشغيلية من كل ذلك هي الخطوات الثلاث ذاتها: تثبيت إصدار خادم MCP بدل الاعتماد على أحدث إصدار، وإبعاد بيانات اعتماد الإنتاج عن ملفات البيئة النصية التي يستطيع الوكيل قراءتها، والتعامل مع استجابات الأدوات كمدخلات غير موثوقة لا كوثائق قد يتبعها الوكيل.
بعد عشرة أسابيع من النشر، لا يزال السجل العام ينتهي عند النقطة نفسها التي انتهى إليها في 18 أغسطس: معرّف، ودرجتان يفصل بينهما فارق فئتين، ونطاق متأثر حده الأعلى بناء شُحن في فبراير، ولا إصلاح مسمّى. ومن يتولى فرز CVE-2026-75130 عليه أن يقرر ما يستطيع وكلاؤه الوصول إليه، لأن السجل لا يخبرهم بأي إصدار ينبغي تثبيته.
