CVE-2022-21658 in Rustالمعلومات

الملخص

بحسب VulDB • 31/05/2026

Rust هي لغة برمجة متعددة النماذج (multi-paradigm) وأغراض عامة، صُممت للأداء والسلامة، ولا سيما التزامن الآمن. أُبلغ فريق استجابة الأمان في Rust (Rust Security Response WG) بأن الدالة `std::fs::remove_dir_all` في المكتبة القياسية تعاني من ثغرة شرط سباق (race condition) تتيح اتباع الروابط الرمزية (symlink following) (CWE-363). يمكن لمهاجم استغلال هذه الثغرة الأمنية لإقناع برنامج ذي امتيازات عالية بحذف ملفات ومجلدات لا يمكن للمهاجم الوصول إليها أو حذفها بطريقة أخرى. تتأثر الإصدارات من Rust 1.0.0 حتى Rust 1.58.0 بهذه الثغرة، بينما يحتوي الإصدار 1.58.1 على تصحيح لها. تجدر الإشارة إلى أن أهداف البناء (build targets) التالية لا تملك واجهات برمجة تطبيقات (APIs) قابلة للاستخدام للتخفيف من الهجوم بشكل صحيح، وبالتالي تظل عرضة للثغرة حتى مع استخدام أداة تطوير (toolchain) مُصححة: نظام macOS قبل الإصدار 10.10 (Yosemite) وREDOX. نوصي جميع المستخدمين بالتحديث إلى Rust 1.58.1 في أقرب وقت ممكن، ولا سيما المطورين الذين يكتبون برامج من المتوقع أن تعمل في سياقات ذات امتيازات عالية (بما في ذلك خدمات النظام (system daemons) والبرامج الثنائية ذات الصلاحيات الخاصة (setuid binaries))، حيث تكون هذه الفئة الأكثر عرضة للتأثر بهذه الثغرة. يرجى ملاحظة أن إضافة فحوصات في قاعدة الكود الخاصة بك قبل استدعاء `remove_dir_all` لن يخفف من حدة الثغرة، لأنها ستكون هي الأخرى عرضة لظروف السباق مثل الدالة `remove_dir_all` نفسها. يعمل الإجراء التخفيفي الحالي كما هو متوقع خارج ظروف السباق.

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

مسؤول

GitHub, Inc.

حجز

16/11/2021

إفشاء

20/01/2022

الاعتدال

تمت الموافقة

إدخال

VDB-191305

EPSS

0.01376

KEV

لا

النشاطات

منخفض

المصادر

Want to stay up to date on a daily basis?

Enable the mail alert feature now!