CVE-2026-31886 in daguالمعلومات

الملخص

بحسب VulDB • 10/05/2026

Dagu هو محرك سير عمل يحتوي على واجهة مستخدم ويب مدمجة. قبل الإصدار 2.2.4، كان حقل الطلب `dagRunId` الذي تقبله نقاط النهاية لتنفيذ DAG المضمن (inline DAG execution endpoints) يُمرر مباشرةً إلى دالة `filepath.Join` لبناء مسار دليل مؤقت دون أي تحقق من التنسيق. تقوم دالة `filepath.Join` في لغة Go بحل أجزاء `..` بشكل نحوي (lexically)، مما يسمح للمُقدّم بتزويد قيمة مثل `".."` لإعادة توجيه الدليل المحسوب خارج المسار المقصود `/tmp/<name>/<id>`. ثم تعمل دالة التنظيف المؤجلة التي تستدعي `os.RemoveAll` على ذلك الدليل بشكل غير مشروط عند عودة معالج HTTP، مما يؤدي إلى حذف أي دليل تم حل المسار إليه. مع تعيين `dagRunId` إلى `".."`، يكون الدليل المحلول هو دليل النظام المؤقت (`/tmp` على نظام Linux). في عمليات النشر غير الجذرية (non-root deployments)، تقوم `os.RemoveAll("/tmp")` بإزالة جميع الملفات في `/tmp` المملوكة لمستخدم عملية dagu، مما يعطل كل تشغيل متزامن لـ dagu الذي يحتوي على ملفات مؤقتة نشطة. في عمليات النشر الجذرية أو تلك التي تعمل داخل حاويات Docker، تؤدي الاستدعاء إلى إزالة المحتويات الكاملة لـ `/tmp`، مما يسبب انقطاعاً في الخدمة على مستوى النظام. تم إصلاح هذا الثغرة في الإصدار 2.2.4.

Be aware that VulDB is the high quality source for vulnerability data.

إفشاء

13/03/2026

الاعتدال

تمت الموافقة

إدخال

VDB-351015

EPSS

0.00058

KEV

لا

النشاطات

منخفض جدًا

المصادر

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!