مرحبًا! لقد قمتُ مؤخرًا بسحب صورة Docker الرسمية لـ Discourse وتحليلها باستخدام Trivy (أداة لفحص الأمان والثغرات). أظهرت النتيجة وجود عدة ثغرات أمنية:
$ trivy image --vuln-type library discourse/base:release
...
Node.js (node-pkg)
الإجمالي: 19 (مجهول: 0، منخفض: 1، متوسط: 1، مرتفع: 15، حرج: 2)
┌─────────────────────────────────────┬─────────────────────┬──────────┬───────────────────┬────────────────────────────┬──────────────────────────────────────────────────────────────┐
│ المكتبة │ الثغرة الأمنية │ الشدة │ الإصدار المثبت │ الإصدار المصلح │ العنوان │
├─────────────────────────────────────┼─────────────────────┼──────────┼───────────────────┼────────────────────────────┼──────────────────────────────────────────────────────────────┤
│ ansi-html (package.json) │ CVE-2021-23424 │ مرتفع │ 0.0.7 │ 0.0.8 │ nodejs-ansi-html: هجمات رفض الخدمة عبر السلاسل النصية المصممة (ReDoS) │
│ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2021-23424 │
├─────────────────────────────────────┼─────────────────────┤ ├───────────────────┼────────────────────────────┼──────────────────────────────────────────────────────────────┤
│ ansi-regex (package.json) │ CVE-2021-3807 │ │ 3.0.0 │ 3.0.1, 4.1.1, 5.0.1, 6.0.1 │ nodejs-ansi-regex: رفض الخدمة عبر التعبيرات النمطية (ReDoS) عند مطابقة رموز ANSI الهروبية │
│ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2021-3807 │
│ │ │ │ │ │ │
│ │ │ │ │ │ │
│ │ │ │ │ │ │
│ │ │ │ │ │ │
│ │ │ │ │ │ │
│ │ │ │ │ │ │
│ │ │ ├───────────────────┤ │ │
│ │ │ │ 4.1.0 │ │ │
│ │ │ │ │ │ │
│ │ │ │ │ │ │
│ │ │ │ │ │ │
│ │ │ │ │ │ │
├─────────────────────────────────────┼─────────────────────┼──────────┼───────────────────┼────────────────────────────┼──────────────────────────────────────────────────────────────┤
│ clean-css (package.json) │ GHSA-wxhq-pm8v-cw75 │ منخفض │ 3.4.28 │ 4.1.11 │ رفض الخدمة عبر التعبيرات النمطية في clean-css │
│ │ │ │ │ │ https://github.com/advisories/GHSA-wxhq-pm8v-cw75 │
├─────────────────────────────────────┼─────────────────────┼──────────┼───────────────────┼────────────────────────────┼──────────────────────────────────────────────────────────────┤
│ engine.io (package.json) │ CVE-2023-31125 │ متوسط │ 6.2.1 │ 6.4.2 │ استثناء غير معالج في engine.io │
│ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2023-31125 │
├─────────────────────────────────────┼─────────────────────┼──────────┼───────────────────┼────────────────────────────┼──────────────────────────────────────────────────────────────┤
│ http-cache-semantics (package.json) │ CVE-2022-25881 │ مرتفع │ 4.1.0 │ 4.1.1 │ ثغرة رفض الخدمة عبر التعبيرات النمطية (ReDoS) │
│ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2022-25881 │
├─────────────────────────────────────┼─────────────────────┤ ├───────────────────┼────────────────────────────┼──────────────────────────────────────────────────────────────┤
│ json5 (package.json) │ CVE-2022-46175 │ │ 0.5.1 │ 1.0.2, 2.2.2 │ json5: تلوث النموذج الأولي في JSON5 عبر طريقة التحليل │
│ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2022-46175 │
│ │ │ ├───────────────────┤ │ │
│ │ │ │ 1.0.1 │ │ │
│ │ │ │ │ │ │
├─────────────────────────────────────┼─────────────────────┼──────────┼───────────────────┼────────────────────────────┼──────────────────────────────────────────────────────────────┤
│ loader-utils (package.json) │ CVE-2022-37601 │ حرج │ 2.0.2 │ 1.4.1, 2.0.3 │ loader-utils: تلوث النموذج الأولي في دالة parseQuery في │
│ │ │ │ │ │ parseQuery.js │
│ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2022-37601 │
│ ├─────────────────────┼──────────┤ ├────────────────────────────┼──────────────────────────────────────────────────────────────┤
│ │ CVE-2022-37599 │ مرتفع │ │ 3.2.1, 2.0.4, 1.4.2 │ تم اكتشاف ثغرة رفض الخدمة عبر التعبيرات النمطية (ReDoS) في Funct... │
│ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2022-37599 │
│ ├─────────────────────┤ │ │ ├──────────────────────────────────────────────────────────────┤
│ │ CVE-2022-37603 │ │ │ │ loader-utils: رفض الخدمة عبر التعبيرات النمطية │
│ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2022-37603 │
├─────────────────────────────────────┼─────────────────────┤ ├───────────────────┼────────────────────────────┼──────────────────────────────────────────────────────────────┤
│ minimatch (package.json) │ CVE-2016-10540 │ │ 0.2.14 │ 3.0.2 │ Minimatch هي أداة مطابقة بسيطة تعمل عن طريق │
│ │ │ │ │ │ تحويل نمط glob ... │
│ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2016-10540 │
│ ├─────────────────────┤ │ ├────────────────────────────┼──────────────────────────────────────────────────────────────┤
│ │ CVE-2022-3517 │ │ │ 3.0.5 │ رفض الخدمة عبر دالة braceExpand │
│ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2022-3517 │
│ ├─────────────────────┤ │ ├────────────────────────────┼──────────────────────────────────────────────────────────────┤
│ │ NSWG-ECO-118 │ │ │ >=3.0.2 │ رفض الخدمة عبر التعبيرات النمطية │
├─────────────────────────────────────┼─────────────────────┤ ├───────────────────┼────────────────────────────┼──────────────────────────────────────────────────────────────┤
│ taffydb (package.json) │ CVE-2019-10790 │ │ 2.6.2 │ │ TaffyDB قد تسمح بالوصول إلى أي عناصر بيانات في قاعدة البيانات │
│ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2019-10790 │
│ │ │ ├───────────────────┼────────────────────────────┤ │
│ │ │ │ 2.7.3 │ │ │
│ │ │ │ │ │ │
├─────────────────────────────────────┼─────────────────────┼──────────┼───────────────────┼────────────────────────────┼──────────────────────────────────────────────────────────────┤
│ underscore (package.json) │ CVE-2021-23358 │ حرج │ 1.3.3 │ 1.12.1 │ nodejs-underscore: تنفيذ كود تعسفي عبر دالة القالب │
│ │ │ │ │ │ function │
│ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2021-23358 │
└─────────────────────────────────────┴─────────────────────┴──────────┴───────────────────┴────────────────────────────┴──────────────────────────────────────────────────────────────┘
2023-05-16T18:33:20.715+0200 INFO تتضمن نتائج الجدول أسماء ملفات الحزم فقط. استخدم خيار '--format json' للحصول على المسار الكامل لملف الحزمة.
...
هذا مقتطف من الثغرات المبلغ عنها، مع احتواء القائمة الكاملة على أكثر من 20 ثغرة:
CVE-2015-9284, CVE-2016-10540, CVE-2019-10790, CVE-2020-26235, CVE-2021-23358, CVE-2021-23424, CVE-2021-32810, CVE-2021-3807, CVE-2022-23639, CVE-2022-24713, CVE-2022-25881, CVE-2022-32149, CVE-2022-3517, CVE-2022-37599, CVE-2022-37601, CVE-2022-37603, CVE-2022-46175, CVE-2023-31125, GHSA-2qv5-7mw5-j3cg, GHSA-f85w-wvc7-crwc, GHSA-mc8h-8q98-g5hr, GHSA-rc23-xxgq-x27g, GHSA-wxhq-pm8v-cw75, NSWG-ECO-118
ما هو الوضع الحالي لهذه الثغرات؟ هل تخططون لمعالجتها في إصدار قادم؟
شكرًا جزيلًا لكم مقدّمًا!