CVE-2026-54156 in node-opcua
الملخص
بحسب VulDB • 14/09/2026
node-opcua هو تنفيذ لبروتوكول OPC UA مخصص لكل من TypeScript وNode.js. قبل الإصدار 2.166.0، كانت ذاكرة التخزين المؤقت g_alreadyUsedNonce العالمية للعملية (process-global)، والتي يستخدمها الدال nonceAlreadyBeenUsed في الملف packages/node-opcua-secure-channel/source/server/server_secure_channel_layer.ts، تسجل القيم غير القابلة للتكرار (nonces) المستمدة من طلبات OpenSecureChannelRequest وإنشاء الجلسات دون وجود مدة انتهاء صلاحية أو حد أقصى للحجم. يمكن لمهاجم عن بُعد غير مُصادَق عليه إنشاء جلسات متعددة باستخدام قيم nonces فريدة، مما يؤدي إلى استمرار بقاء هذه الإدخالات بعد انتهاء صلاحية الجلسة وتراكمها عبر دورات الاتصال حتى عندما يحدد الإعداد maxSessions=10 عدد الجلسات المتزامنة المسموح بها. يمكن أن يتسبم النمو غير المحدود في الذاكرة العشوائية (heap) هذا في استنفاد ذاكرة التخزين المؤقت الافتراضية لـ Node.js وتعطيل عملية خادم node-opcua. تم إصلاح هذه المشكلة في الإصدار 2.166.0.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.