Moment: التعبير العادي الضعيف

تم إنشاؤها على ٨ سبتمبر ٢٠١٧  ·  24تعليقات  ·  مصدر: moment/moment

التعبير العادي التالي المستخدم لتحليل التواريخ المحددة كسلاسل يكون عرضة لـ ReDoS:

/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i

التباطؤ منخفض بشكل معتدل: لـ 50.000 حرف حوالي ثانيتين وقت المطابقة. ومع ذلك ، ما زلت أقترح أحد الخيارات التالية:

  • إزالة regex ،
  • إرساء regex ،
  • تحديد عدد الأحرف التي يمكن أن يقابلها التكرار ،
  • الحد من حجم الإدخال.

إذا لزم الأمر ، يمكنني تقديم مثال حقيقي يوضح التباطؤ.

Bug Up-For-Grabs

التعليق الأكثر فائدة

نقدر أنه يمكن تسريع الإصلاح لهذا الأمر ، والآن بعد أن تم تسجيل دخوله ، فإنه يفشل في إنشاءاتنا.

ال 24 كومينتر

للتوضيح ، هذا في التعبير العادي matchWord ، في /src/lib/parse/regex.js هنا .

يوجد هنا مخطط سكة حديد للتعبير النمطي . من هذا يمكننا أن نرى أن التجميع مع التكرار مرتبط بتحليل الأحرف العربية. سيكون من المفيد إذا كان الشخص الذي يفهم كل من التعبيرات العادية واللغة العربية يمكنه أن يتدخل في هذا الأمر.

نظرة عامة على ReDoS مفيدة أيضًا.

سأأخذ هذا ، لم يبدأ أحد بالفعل

MustafaHosny اللهم امين :)

تضمين التغريدة
إذا لزم الأمر ، يمكنني تقديم مثال حقيقي يوضح التباطؤ.

أرغب في رؤية مثال إذا كان ذلك ممكنًا :)

أرسلها @ Drag0s على بريدك الإلكتروني الخاص.

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

hamiltondanielb - هل

فقط كان لدينا كسر البناء 👯

من المحزن أن يتم نشر المشكلة قبل حلها. تم فتح العدد في 8 سبتمبر ، تم نشر استشاري NSP اليوم. cristianstaicu ربما كان يجب عليك تذكير

mattgrande ، هناك meta-ness لهذا: اتضح أن إصدار nsp الذي كنا مثبتين عليه (2.8.1) يعتمد على اللحظة (عبر joi) لذلك كان يبلغ عن ثغرة أمنية على اعتماده الخاص:

1__bash

بالترقية إلى nsp 3.1.0 ، تم حل هذا لأن التبعية لم تعد موجودة - لذا احذر من ذلك إذا كنت لا تعتمد بشكل مباشر على اللحظة.

هل هناك حل لهذا حتى الآن؟

من فضلك نصح أي إصلاح متاح؟

لم يتم نشر أي إصلاح حتى الآن.

من فضلك ، إذا كنت مهتمًا بالحصول على تحديثات من المشرفين ، فقم بالاشتراك في الإخطارات للحصول على تحديثات لهذه المشكلة بالنقر فوق "اشتراك" في العمود الأيمن.

لإضافة استثناء nsp لهذا ، أضف ملف .nsprc :

{
  "exceptions": [
     "https://nodesecurity.io/advisories/532"
  ]
}

شكرا @ westy92 ! أنقذ بنائي.

مرحبًا @ westy92 و @ jacob-go. لدي الكود التالي.
var مهامMethods = تتطلب ('gulpfile-ninecms') ؛
gulp.task ('nsp'، featuresMethods.nsp) ؛
لا تلتقط استثناء ملف .nsprc. يستمر في إعطائي خطأ الضعف للحظة.
لقد أضفت الملف على جذر المشروع. هل هناك أي شيء أفتقد لفعله؟

Dexterslab نحن نستخدم gulp-nsp ، والذي يعمل بشكل جيد عندما يكون .nsprc في دليل المشروع (نفس مستوى package.json ). ربما تحاول استخدام gulp-nsp مباشرة؟

@ كريستيانستايكو ماتغراند هل يحدث هذا في لوكسون أيضًا؟

نقدر أنه يمكن تسريع الإصلاح لهذا الأمر ، والآن بعد أن تم تسجيل دخوله ، فإنه يفشل في إنشاءاتنا.

هل يمكنني أن أقترح على المشرفين قفل هذا التحويل؟
لكل من ينتظر الإصلاح ، فقط اضغط على زر الاشتراك ، وسيتم إعلامك.

إذا أراد أي شخص إجراء الإصلاح ، فلا تتردد في فتح العلاقات العامة.

هناك علاقات عامة لهذا بالفعل https://github.com/moment/moment/pull/4326

هل يحتاج شخص ما لإخطار nsp أنه تم تصحيح هذا؟ https://nodesecurity.io/advisories/532

تم إصلاح هذا في الإصدار 2.19.3. يرجى التحديث وفقًا لذلك.

لست متأكدًا من كيفية إبلاغ NSP -cristianstaicu ، هل يمكنك أنت أو غيرك المساعدة هنا؟

لقد قمت بإرسال بريد إلكتروني إلى

مرحبا،

تم تصحيح ثغرة Mom.js المعلقة حاليًا (https://nodesecurity.io/advisories/532) مؤخرًا وتم إصدار الإصلاح في الإصدار 2.19.3.

ما هي عملية الإبلاغ عن تحديثات حالة التقارير؟ عنوان البريد الإلكتروني هذا هو أفضل طريق يمكن أن أجده.

شكر!

حصلت للتو على رد يفيد بأنه يجب تحديث NSP DB بـ 2.19.3 كإصدار ثابت.

تم التحقق من ناحيتي أن 2.19.3 لم تعد تنبيهات.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

benhathaway picture benhathaway  ·  3تعليقات

chitgoks picture chitgoks  ·  3تعليقات

alvarotrigo picture alvarotrigo  ·  3تعليقات

danieljsinclair picture danieljsinclair  ·  3تعليقات

tanepiper picture tanepiper  ·  3تعليقات