
تم الإبلاغ عن ثغرة أمنية (RUSTSEC-2026-0387) في مكتبة Rust crypto-bigint لحسابات التشفير، والتي قد تؤدي إلى هجمات زمنية (هجمات قنوات جانبية). وليس الأمر مجرد "تحديث للحل"، بل تأثرت منتجات رئيسية تعتمد على سلاسل Web3/EVM مثل Alloy، لذا نشارك هذه المعلومة لتنظيم الوضع وتنبيهكم إليه. 1. نظرة عامة على الثغرة المكتبة المستهدفة: crypto-bigint (مكتبة حسابات عدد صحيح ثابت الحجم كبيرة الحجم) المشكلة: في العمليات الداخلية مثل الطرح وضرب مونتغومري، قد تؤدي تحسينات المُحَوِّل إلى ظهور فروع شرطية، مما يُدخل اختلافات تعتمد على بيانات الإدخال في وقت التنفيذ. المخاطر: يمكن للمهاجمين، من خلال قياس دقيق لوقت التنفيذ على مستوى الملي ثانية أو الميكرو ثانية، استنتاج أو استعادة معلومات سرية مثل المفاتيح الخاصة (هجمات زمنية). 2. لماذا لا يمكن التحديث فورًا؟ تم إصدار نسخة مصححة (v0.7.6) من crypto-bigint، لكن هناك عوائق في تبعيات المكتبات العليا. فمثلاً، alloy، وهي مكتبة مستخدمة على نطاق واسع في بيئة EVM/Ethereum، تعتمد على مكتبة التشفير k256 v0.13. لكن حاليًا، لا تدعم k256 v0.13 التحديث إلى crypto-bigint v0.7.6 (أو هي في انتظار الإصدار). وبالتالي، لا يمكن حل المشكلة فقط بتنفيذ أمر cargo update، لأن بنية التبعيات المقفلة تُبقي الإصدارات القديمة مثبتة. 3. الإجراءات المستقبلية وخطوات التحقق تحديد التأثير: قم أولاً بتنفيذ أمر cargo tree -i crypto-bigint أو cargo audit للتحقق من المسارات التي تجلب هذه التبعية في مشروعك (مثل: alloy -> k256). مراقبة التحديثات من المكتبات العليا: راقب طلبات الدمج (PRs) لرفع الإصدار في k256 وalloy. استكشاف حلول بديلة: إذا لزم الأمر التحرك فورًا، قم باستكشاف حلول بديلة مثل استخدام [patch.crates-io] في Cargo.toml لاستبدال التبعيات قسرًا. من المتوقع أن يكون هناك تأخير ما قبل انتشار التصحيح عبر نظام Rust/Web3 بأكمله. نوصي بشدة لأي شخص يدير هذه السلاسل بمراقبة سلوك شجرة التبعيات الخاصة بهم. ▼ إشعار RustSec: https://t.co/FJSYIOHwtH #Rust #RustLang #Web3 #Alloy #Ethereum #Security #暗号技術
