أعلن معنا
الحواسيب

Ruby تُصدر تحديثات أمنية لإصلاح ثغرات تنفيذ شيفرة عن بُعد

الإصدارات 4.0.9 و3.4.12 و3.3.13 تعالج مشكلات في محرك Onigmo للتعابير النمطية أبلغت عنها GitLab وتتيح تنفيذ شيفرة عن بُعد.

أصدر فريق تطوير Ruby تحديثات أمنية يوم 23 أكتوبر 2026 (بالتوقيت العالمي الموحد) تعالج عدة مشكلات في محرك Onigmo للتعابير النمطية المستخدم في Ruby، وفقًا لموقع forest.watch.impress.co.jp. وتشمل الإصدارات المصلحة Ruby 4.0.9 وRuby 3.4.12 وRuby 3.3.13.

وكانت GitLab قد أبلغت عن هذه المشكلات واصفة إياها بأنها قابلة للاستغلال لتنفيذ شيفرة عن بُعد على خوادم GitLab. ورُصدت أربعة أرقام CVE هي: CVE-2026-89078 وCVE-2026-93577 وCVE-2026-97229 وCVE-2026-110264.

تشمل المشكلات تحريرًا مزدوجًا في محلل التعابير النمطية، وطفحًا صحيحًا في مترجم التعابير النمطية، بما في ذلك مترجم التعابير النمطية المستخدم في CI/CD. ويمكن لأنماط التعابير النمطية المصممة بعناية أن تسبب تلفًا في الذاكرة عند تجميعها بواسطة Ruby، مما قد يسمح بتنفيذ شيفرة عن بُعد.

تتأثر التطبيقات التي تجمع تعابير نمطية من نصوص يتحكم بها المهاجم، مثل استخدام Regexp.new أو Regexp.union أو Regexp.compile أو إدراجها في تعابير نمطية حرفية. أما التطبيقات التي تستخدم تعابير نمطية كتبها المطورون فقط فهي غير متأثرة. وأكد فريق Ruby أن المهلات وحدود طول الأنماط ليست إجراءات تخفيف موثوقة.

في Ruby 3.3.13، تم أيضًا تحديث مكتبة resolv المرفقة إلى الإصدار v0.3.2. وينصح فريق Ruby من لا يستطيع التحديث فورًا بتجنب تجميع تعابير نمطية من مدخلات غير موثوقة.

سياق سابق

كانت GitLab قد صححت Ruby المرفقة في GitLab v19.4.1/19.4.2/19.5.1 لمعالجة هذه المشكلات قبل إصدار تحديثات Ruby، ثم دُمجت الإصلاحات في فروع إصدار Ruby. ولا يزال فريق Ruby لم يقرر ما إذا كان سيعامل هذه المشكلات كثغرات أمنية بنفسه ولم يتقدم بطلب للحصول على أرقام CVE، لذا يُنصح باستخدام أرقام CVE الصادرة عن GitLab حاليًا.

أسئلة سريعة

ما الإصدارات المصلحة من Ruby؟

Ruby 4.0.9 وRuby 3.4.12 وRuby 3.3.13.

هل يمكنني تأجيل التحديث؟

ينصح فريق Ruby من لا يستطيع التحديث فورًا بتجنب تجميع تعابير نمطية من مدخلات غير موثوقة، لأن المهلات وحدود طول الأنماط ليست إجراءات تخفيف موثوقة.

أي التطبيقات متأثرة؟

التطبيقات التي تجمع تعابير نمطية من نصوص يتحكم بها المهاجم، مثل استخدام Regexp.new أو Regexp.union أو Regexp.compile أو إدراجها في تعابير نمطية حرفية. التطبيقات التي تستخدم تعابير كتبها المطورون فقط غير متأثرة.

المصدر