لي خدامين بـ node-forge باش يفكّو تشفير الداتا بـ AES-GCM خاصهم يراجعو الإنتيڭراسيون ديالهم بلا تأخير. كاينة ثغرة مسجّلة باسم CVE-2026-119186: Digital Bazaar نشرات الإشعار ديالها نهار 27 أكتوبر، وقاعدة الإشعارات ديال GitLab سجلاتها نهار 30 أكتوبر 2026. المشكل كيمس جميع نسخ node-forge حتى لـ 1.4.0، والتصحيح كاين فـ node-forge 1.4.1.
المشكل كاين فـ الأوبسيون tagLength اللي كتتحدد ملي كيبدا AES-GCM. فالنسخ اللي فيهم الثغرة، هاد القيمة ما كانتش كتتشيكا مزيان. إلا كانت 0، ولا قيمة كتتحول لـ 0 بحال null، false، string خاوية ولا « 0 »، الauthentication tag تقدر تولّي خاوية. فهاد الحالة، مرحلة التحقق فالأخير تقدر ترجع باللي العملية نجحات حتى إلا كان ciphertext ولا additional data ماشي صحيحين، غير إلا كان التاغ اللي تبعث خاوي ولا ما كاينش.
عملياً، الخطر كيعني الأبليكاسيونات اللي كتفك تشفير AES-GCM بـ node-forge وكتدوز tagLength بصفر ولا بقيمة كتولي صفر. هاد السيناريو يقدر يوقع مثلاً ملي طول التاغ كيتحسب من tag جا من عند الطرف الآخر. شي مهاجم قادر يصيفط ciphertext بتاغ خاوي يقدر يخلي الأبليكاسيون تقبل داتا اختارها هو بحال إلى راه موثوق فيها. يعني التأثير الأساسي كيمس سلامة وصحة الميساجات، ماشي كشف مباشر لمحتوى الداتا السرية.
أول خطوة هي تشيكيو النسخة المستعملة ديال node-forge فـ ملفات الديبوندنسيز، ملفات القفل، وأدوات تحليل الديبوندنسيز. أي بروجي فيه نسخة قبل 1.4.1 خاصو يتحدّث، حتى إلا كانت node-forge داخلة كديبوندنسي غير مباشرة. من بعد التحديث، خاص يتدار تيست لمسارات فك التشفير بـ AES-GCM. الفيكس ما بقا كيسمح غير بأطوال tag اللي كيعترف بيهم NIST، من 128 حتى 32 bits حسب القيم المسموحة. إلا ما تعطاتش tagLength، كيتستعمل 128 bits كافتراضي. وحتى يكمل الديبلواي، ما خاصش tagLength تجي من داتا وصلات من برا: حدّدو قيمة صالحة ولا خليهالكم افتراضية، وتحققو من طول التاغ اللي كيوصل قبل ما تبداو فك التشفير.