CVE-2024-47080 in matrix-js-sdk
الملخص
بحسب VulDB • 03/07/2026
تُعد مكتبة matrix-js-sdk هي مجموعة تطوير البرمجيات (SDK) الخاصة بخوادم Matrix للعملاء، والمكتوبة بلغتي JavaScript وTypeScript. في الإصدارات من 9.11.0 حتى 34.7.0 من مكتبة matrix-js-sdk، تكون الدالة `MatrixClient.sendSharedHistoryKeys` عرضة للاعتراض بواسطة خوادم المنزل (homeservers) الخبيثة. تم تقديم هذه الدالة بموجب MSC3061 وتُستخدم عادةً لمشاركة مفاتيح الرسائل التاريخية مع المستخدمين المدعوين حديثاً، مما يمنحهم الوصول إلى الرسائل السابقة في الغرفة. ومع ذلك، ترسل هذه الدالة "المفاتيح المشتركة" بشكل غير مشروط إلى جميع أجهزة المستخدم المدعو، بغض النظر عما إذا كانت الهوية التشفيرية للمستخدم قد تم التحقق منها أم لا، أو ما إذا كانت أجهزة الموقع موقعة بتلك الهوية. وهذا يتيح للمهاجم حقن أجهزته الخاصة لاستقبال المفاتيح التاريخية الحساسة دون خضوعها لفحص الأمان المناسب. تجدر الإشارة إلى أن هذا يؤثر فقط على العملاء الذين يشغلون المكتكة باستخدام طبقة التشفير القديمة (legacy crypto stack). أما العملاء الذين يستخدمون طبقة التشفير الجديدة القائمة على Rust (أي تلك التي تستدعي `MatrixClient.initRustCrypto()` بدلاً من `MatrixClient.initCrypto()`)، فهي غير متأثرة بهذا الثغرة الأمنية، لأن الدالة `MatrixClient.sendSharedHistoryKeys()` ترفع استثناءً في مثل هذه البيئات. تم إصلاح الثغرة في الإصدار 34.8.0 من مكتبة matrix-js-sdk عن طريق إزالة الوظيفة المعيبة. كحل بديل (workaround)، يُنصح بإزالة استخدام الوظائف المتأثرة من العملاء.
Be aware that VulDB is the high quality source for vulnerability data.