
ثغرة تنفيذ التعليمات البرمجية عن بُعد (RCE) في وكيل الذكاء الاصطناعي في Zammad: وسم قالب متداخل، وإصلاح بحرف واحد
- OrcaجديدOrcaCyber: MiniMax M3.1 Flash Abliterated / Uncensored2026-10-29100 tok/s
- OrcaجديدOrcaCyber: GLM 5.3 Flash Abliterated / Uncensored2026-10-27$0.80 / $1.60 لكل مليون رمز · 102 tok/s
- OrcaجديدOrcaCyber: Qwen3.8 Flash Next Abliterated / Uncensored2026-10-26$0.80 / $1.60 لكل مليون رمز · 283 tok/s
- OrcaجديدOrcaCyber: MiMo V2.6 Flash Abliterated / Uncensored2026-10-26$0.80 / $1.60 لكل مليون رمز · 93 tok/s
- MoonshotجديدMoonshotAI: Kimi K3.1 Pro2026-10-2446الذكاء
- OrcaجديدOrcaCyber: DeepSeek V4.1 Flash Abliterated / Uncensored2026-10-23$0.80 / $1.60 لكل مليون رمز · 106 tok/s
- minimaxجديدMiniMax: M3.1 Flash2026-10-1929الذكاء
- OrcaجديدOrca: OrcaCyber Ultra 1.02026-10-17$5.00 / $10.00 لكل مليون رمز · 70 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 لكل مليون رمز · 95 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 لكل مليون رمز · 168 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الذكاء
أصدرت Zammad، منصة الدعم الفني مفتوحة المصدر، الإصدار 7.1.2 في 4 أغسطس 2026 مع ثمانية عشر إصلاحًا أمنيًا؛ أول إصلاح مُدرج منها يسدّ ثغرة تنفيذ تعليمات برمجية عن بُعد في حقول الإعدادات الخاصة بميزة AI Agent لديها. الثغرة هي CVE-2026-84462، التي كُشف عنها في تنبيه GitHub GHSA-gp3x-9xm8-rcj6 في اليوم نفسه، ونطاق التأثر بها هو كل تثبيت ذاتي الاستضافة على إصدار حتى 7.1.1 شاملًا. كان بإمكان مسؤول قادر على إنشاء أو تعديل AI Agent أن يُدخل نصًا مصممًا خصيصًا في أحد حقول الوكيل، ويتجاوز الفلتر المخصص لتحييده، وينفّذ أوامر اعتباطية على الخادم المستضيف لـ Zammad — مع احتمال، وفقًا لصياغة التنبيه، "قراءة أو تعديل أو إتلاف كل البيانات المخزنة على ذلك الخادم." لا يلزم أي مستخدم آخر أن يتصرف: يذكر التنبيه أن "التعليمات البرمجية الخبيثة تُنفَّذ تلقائيًا في المرة التالية التي يعالج فيها AI Agent المتأثر تذكرة." يصنّف GitHub شدتها بأنها مرتفعة عند 8.6 على CVSS 4.0. يُحتفظ بالسجل ووسوم الخطورة والضرر الخاصة به والمدخلات المسجلة حوله في the Orca AI Incident Archive، الذي يدرج هذه الحادثة ضمن بقية السلسلة.
ما الذي يقرره التحذير
نُشر التنبيه الأمني من GitHub في 4 أغسطس 2026، وهو قصير ومحدد بشكل غير معتاد بشأن الآلية والشروط المسبقة. يصف "مرشحًا أمنيًا يحمي إعداد وكيل الذكاء الاصطناعي في Zammad" و"يمكن تجاوزه بإدخال نص مصمم خصيصًا في أحد حقول وكيل الذكاء الاصطناعي"، ويحدد الفاعل بدقة: "يمكن لمسؤول لديه صلاحية إنشاء وكلاء الذكاء الاصطناعي أو تعديلها أن يستغل ذلك لتشغيل أوامر اعتباطية على الخادم الذي يستضيف Zammad." النطاق المتأثر مسجل حتى الإصدار 7.1.1 شاملًا، والنسخة المصححة هي 7.1.2. المُبلّغ المذكور هو colinthebomb1؛ وحساب النشر هو fliebe92. لا ينشر التنبيه أي إثبات مفهوم ولا أي تفاصيل عن الاستغلال.
يصنّف GitHub الثغرة على أنها عالية الخطورة، بدرجة 8.6 وفق CVSS 4.0، وفق المتجه AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H ودون تغيير في النطاق. ويعني ذلك، عند تفسيره، أن الثغرة قابلة للوصول عبر الشبكة بتعقيد منخفض، دون متطلبات هجوم ودون تفاعل من المستخدم، من قِبل مهاجم يمتلك بالفعل امتيازات عالية داخل التطبيق، مع تأثير عالٍ على سرية وسلامة وتوافر نسخة Zammad نفسها. وتسرد النشرة ثلاث نقاط ضعف: CWE-20، التحقق غير السليم من المدخلات؛ وCWE-94، حقن الشيفرة؛ وCWE-1336، فئة محرك القوالب التي يعرّفها MITRE بأنها الإخفاق في تحييد الصياغة الخاصة «التي يمكن تفسيرها على أنها تعبيرات قوالب أو توجيهات شيفرة أخرى عند معالجتها بواسطة المحرك».
غيّر الإصلاح حرفًا واحدًا
الإصلاح العام هو الإيداع e3b0c8df91ad2108c8305be23e8fe6f73fb9718d، أُرسل برسالة «الصيانة: تحسين ERB sanitizer». يسجّل GitHub تاريخ مؤلف هو 7 يوليو 2026 وتاريخ إيداع هو 3 أغسطس 2026، قبل يوم واحد من التنبيه الأمني والإصدار. يمسّ ملفين: سطر واحد من lib/erb_sanitizer.rb، وأربعة عشر سطرًا مضافة إلى المواصفات.
السطر الواحد هو الإصلاح بأكمله. كانت الدالة escape_tag تستخدم sub الخاصة بـ Ruby، التي تستبدل أول تطابق لنمط في سلسلة نصية؛ وهي الآن تستخدم gsub، التي تستبدل كل تطابق. وفي كلا النسختين يكون الاستبدال نفسه: المُفتتح المكتوب بصيغة <% يصبح <%%, وهي الصيغة المزدوجة التي يعرضها ERB، محرك القوالب في Ruby، كنص حرفي بدلاً من تقييمها. لا يحدد التنبيه الأمني أيّ حقل من حقول AI Agent يحمل القالب؛ ويحدّد الـ commit المرشّح الذي كان من المفترض أن يجعل ذلك القالب خاملاً.

مع sub، تم تعطيل أول فاتح فقط في السلسلة. حمولة تضع فاتحًا ثانيًا مباشرة بعد الأول تنجو من عامل التصفية: تتحول <%<%= 1 + 1 %> إلى <%%<%= 1 + 1 %>، حيث يُخرج ERB الفاتح البادئ كنص ثم يقيّم الوسم الداخلي. تسمّي مواصفة الاختبار الانحدارية المضافة في الالتزام نفسه الحيلة بوضوح — «مع فاتح متداخل مُهرَّب داخل وسم واحد (تجاوز escape-all-openers)» — وتؤكد أن كلاً من <%<%= 1 + 1 %> و<%<%<%= 1 + 1 %> المتداخل مرتين يجب أن يُعرَضا كنص حرفي. تلك المواصفة هي أوضح بيان عام لكيفية التحايل على عامل التصفية، لأن الإشعار الأمني نفسه لا يقدّم أي شيء.
إن شكل هذا الخلل عام وليس مجرد غرابة خاصة بـZammad: فأداة التهريب التي تتوقف بعد أول تطابق يبطلها أي إدخال يحمل نسخة ثانية متداخلة من التسلسل الذي تزيله. وتصف رسالة الالتزام التغيير بأنه صيانة، وهو المسار الذي تسلكه عادةً رقعة تقوية مكوَّنة من حرف واحد — ولهذا كان لا بد أن يحمل الإشعار الأمني، لا الفرق النصي، التحذير.
سبعة أسابيع من النشرة الاستشارية إلى NVD
نشرت NVD سجلها الخاص بـ CVE-2026-84462 في 25 سبتمبر 2026، بعد سبعة أسابيع من الإشعار الاستشاري، وآخر تعديل له في 28 سبتمبر. السجل موسوم بـ «Deferred»، ما يعني أن الوكالة لم تنشر تحليلها الخاص، كما تُنسب كتلة المقاييس فيه درجة 8.6 إلى security-advisories@github.com كمقياس ثانوي — أي تقييم GitHub بصفتها سلطة ترقيم CVE، وليس تقييمًا مستقلًا من NVD. ولا يتضمن السجل نفسه أي تكوين CPE على الإطلاق، لذا فهو لا يربط الثغرة بمعرّف منتج مرتبط بإصدار.
كلا التفصيلين يهم أي شخص يتتبع البرمجيات ذاتية الاستضافة عبر الخلاصات بدلاً من ملاحظات الإصدار. كان الإصلاح علنيًا وقابلاً للتنفيذ في 4 أغسطس؛ ووصل السجل القابل للقراءة آليًا في 25 سبتمبر؛ وحتى حينها وصل دون معرّف المنتج الذي تعتمد عليه الماسحات القائمة على CPE في المطابقة. ولمدة سبعة أسابيع، كان الوصف الموثوق للثغرة هو الإرشاد الأمني للمورّد وملاحظة الإصدار الخاصة به.

ما هو ثابت، وما هو غير ثابت
مُثبت: الاستشارة الأمنية، والنسخة المصحّحة، ودرجة CVSS، والتعديل البرمجي، كلها مصدرها Zammad وقاعدة بيانات الاستشارات في GitHub، وهي متفقة فيما بينها. وسجل NVD يعيد إنتاج وصف جهة الترقيم دون إضافة تحليل خاص به. ويقيّم الأرشيف المُدخل بدرجة ثقة A على هذا الأساس، مع كون الحادث غير متنازع عليه.
غير مُثبت، أو غير مُسجل: لا يوجد إثبات مفهوم في النشرة الأمنية ولا تقرير عن استغلال في الواقع. ويمنح EPSS من FIRST لـ CVE-2026-84462 احتمال استغلال بنسبة 0.28 بالمئة خلال الثلاثين يومًا المقبلة، وهو المئين العشرون، في الدرجة المنشورة في 29 أكتوبر 2026. ولا يسجّل الأرشيف أي ضرر فعلي، ويصنّف الإدخال بخطورة متوسطة — أقل من النطاق العالي الخاص بالنشرة نفسها. وهذان أداتان منفصلتان تجيبان عن سؤالين مختلفين: ما الذي قد يسمح به العيب مقابل ما يُعرف أنه حدث، ويعرض هذا النص كليهما بدلًا من التوفيق بينهما.
التأكيد المستقل ضعيف. إن البحث عن تغطية لهذا الـ CVE يعيد قواعد بيانات الثغرات التي تعيد نشر نص الجهة المسؤولة عن الترقيم، إضافةً إلى ملاحظة الإصدار الخاصة بـ Zammad؛ ولا يبدو أن أي وسيلة إخبارية قد أفادت عن العيب بشكل مستقل. هذه نتيجة تتعلق بالسجل، وليست انتقادًا له: فتنفيذ شيفرة عن بُعد في مكتب الدعم ويتطلب حساب مسؤول ليس نوع الحدث الذي يولّد تغطية صحفية، وغياب رواية مستقلة هو بحد ذاته جزء مما يوثقه السجل.
من يمكنه إطلاقه، وما الذي تغيّر؟
تسرد ملاحظة إصدار Zammad للإصدار 7.1.2، المؤرخة في 4 أغسطس 2026، الثغرات الثماني عشرة التي تم تصحيحها في ذلك الإصدار، وتضع تجاوز قالب وكيل الذكاء الاصطناعي في المقدمة. وبالنسبة إلى العملاء المستضافين، تقول: "لا يلزم اتخاذ أي إجراء. لقد قام فريقنا بالفعل بتصحيح نسخكم وتأمينها." أما بالنسبة إلى عمليات التثبيت المستضافة ذاتيًا، فجاءت أكثر صراحة: "نوصي بشدة بالترقية إلى أحدث إصدار من Zammad فورًا لضمان حماية نظامك." ولا يقدم الإرشاد أي حل بديل، ولا يتضمن السجل أي إجراء تخفيفي يتجاوز الترقية.

متطلب الامتياز يستحق نظرة أدق مما يمنحه المتجه. تعني PR:H أن المهاجم يحتاج إلى وصول كبير قبل أن تصبح الثغرة مفيدة، وهذا الوصول هنا يتمثل في صلاحية admin.ai_agent التي تقول وثائق Zammad إنها مطلوبة للعمل مع AI Agents من الأساس. وفي مكتب المساعدة، غالبًا ما يكون هذا قائد فريق الخدمة الذي يضبط أدوات التصنيف والوسم واستخراج النصوص — وليس بالضرورة الشخص الذي يدير الخادم. وصياغة التنبيه الأمني نفسه، "مسؤول يملك صلاحية إنشاء AI Agents أو تحريرها"، أضيق من "أي شخص" وأوسع من "root". وإذا تعذر إجراء ترقية فورًا، فإن تضييق دائرة من يحملون هذه الصلاحية يقلل مجموعة الأشخاص القادرين على الوصول إلى مسار الكود؛ وهذا استنتاج من المتجه والوثائق، وليس إصلاحًا نشرته الجهة المصنعة.
لا تضع أيٌّ من الوثائق الأساسية نموذج لغة في مسار الاستغلال. يُنفَّذ الأمر داخل عملية Ruby في Zammad عندما تُعرَض إعدادات الوكيل؛ ولا يصف أيٌّ من التنبيه الأمني أو الالتزام البرمجي أو ملاحظة الإصدار أن النموذج هو من ينتج الحمولة. وتوفّر ميزة AI Agent الحقل القابل للكتابة من قِبل المسؤول والخاضع للمعالجة القالبية، والذكاء الاصطناعي هنا سطح الهجوم لا الآلية. هذا هو النمط الذي يشير إليه السجل: تعريف الوكيل — تعليماته وقالبه ومرشِّحاته — هو إعدادات قابلة للتنفيذ، يحرّرها أشخاص عملهم دعم فني لا مراجعة أمنية.
علاج Zammad متناسب وممل: تغيير طريقة واحدة، واختبارا انحدار، ورفع رقم الإصدار الذي يسد سبع عشرة ثغرة أخرى إلى جانب هذه الثغرة. الجزء الجدير بالحفظ هو نموذج التعرّض. فمكتب المساعدة الذي يسمح لقائد الدعم بتعريف وكيل يسمح أيضاً لقائد الدعم ذاته بكتابة شيء سينفذه الخادم، والشيء الوحيد الفاصل بين الأمرين هو مرشّح يجب أن يكون صحيحاً بشأن كل نسخة متداخلة من الصياغة التي يزيلها.
