# تحديثات Node.js الأمنية تصلح 10 ثغرات، منها تكرار قيم randomUUID في الـ snapshots

> **المغزى:** المغزى: الخطأ لم يكن في الدالة ولا في الكود، بل في صورة محفوظة حملت معها حالة كان يجب ألا تُحفظ، وهذا النوع من الأخطاء لا يُكتشف بقراءة الكود ويتكرر في أي نظام يعتمد على الـ caching.

- المصدر: المغزى (https://almaghza.com/a/2026-10-22-nodejs-randomuuid-snapshot-repeat/)
- التاريخ: 11 جمادى الأولى - 22 أكتوبر 2026 (2026-10-22)
- القسم: أمن سيبراني
- الوسوم: Node.js، الثغرات الأمنية، الأمن السيبراني

أصدر مشروع Node.js تحديثات أمنية في 21 أكتوبر 2026 تعالج 10 ثغرات، وتشمل فروع 22 و24 و26. والنسخ المصححة هي 22.23.4 و24.22.1 و26.12.1.

وأغرب هذه الثغرات، CVE-2026-106074 بدرجة خطورة متوسطة، تتعلق بالدالتين crypto.randomUUID وrandomInt. فبحسب الصفحة الرسمية، كانت الدالتان تُخرجان القيم نفسها في كل عملية، لكن بشرط محدد: أن يكون التطبيق مبنيًا على هيئة startup snapshot أو SEA، أي ملف تنفيذي واحد.

والـ startup snapshot صورة محفوظة لحالة العملية بعد بدايتها، تُستعاد منها العملية في كل تشغيل لتوفير وقت الإقلاع. والمشكلة أن هذه الصورة كانت تحفظ معها مخزون العشوائية الذي تحتفظ به الدالتان داخليًا. فكل عملية تبدأ من الصورة نفسها تجد المخزون نفسه، فتُخرج القيم نفسها. أما التطبيق الذي يعمل بالطريقة المعتادة، أي تشغيل الملف مباشرة بـ node، فلا يتأثر بهذه الثغرة.

ويشمل الإصدار نفسه ثغرات عالية الخطورة تمس نطاقًا أوسع. منها CVE-2026-111497، وهي كتابة خارج حدود الذاكرة عند فك ضغط Brotli قد تسمح بتنفيذ كود عن بعد. ومنها CVE-2026-105483 وCVE-2026-106069، وتتعلقان بتجاوز التحقق من اسم الـ host في شهادة TLS. ومنها CVE-2026-105482، حيث يقطع dns.resolve الأسماء التي تحتوي على حرف NUL.

ولهذا فإن ثغرة الـ UUID تخص فئة محددة من المشاريع، بينما تخص ثغرات TLS وBrotli أي تطبيق يتصل بخدمات خارجية أو يفك ضغط بيانات قادمة من المستخدم.

ويوضح هذا النوع من الأخطاء حدود مراجعة الكود. فالدالة صحيحة، والكود صحيح، والخلل في أن حالة داخلية حُفظت في صورة لم يكن يُفترض أن تحملها. والنمط نفسه قد يظهر في أي نظام يعتمد على الـ caching، لا في Node وحدها.

## المصادر

- [صفحة الإصدارات الأمنية الرسمية](https://nodejs.org/en/blog/vulnerability/october-2026-security-releases)
- [صفحة إصدار النسخة 24.22.1](https://nodejs.org/en/blog/release/v24.22.1)
