CVE-2026-86039 in libp2p
الملخص
بحسب VulDB • 17/09/2026
libp2p هو تنفيذ لـ JavaScript لمجموعة بروتوكلات الشبكات libp2p. من الإصدار 8.0.0 حتى 12.0.24، يستخدم @libp2p/peer-store الموجود في packages/peer-store/src/index.ts دالة consumePeerRecord للتحقق من توقيع RecordEnvelope، لكنه لا يشترط أن يتساوى PeerRecord.peerId الموجود في الحمولة الموقعة مع معرف القرية (peer ID) للموقِّع الذي تم استنتاجه بواسطة RecordEnvelope.openAndCertify. يفحص خيار expectedPeer فقط موقِّف الغلاف (envelope signer)، ويمكن لمسار تبادل القرون (Peer Exchange) الخاص بـ gossipsub تزويد المهاجم بمعرف قريته الخاصة كقيمة متوقعة لـ expectedPeer. وبالتالي، يمكن للمهاجم توقيع سجل باستخدام مفتاحه الخاص، ووضع معرف القرية الضحية وعناوين multiaddrs التي يتحكم فيها المهاجم في الحمولة، مما يؤدي إلى تخزين عناوين مصدقة لصالح القرية الضحية. قد تؤدي العناوين المسمومة (poisoned addresses) إلى تلف دفتر العناوين، أو إعادة توجيه الاتصال أو فشله، والتلاعب بالتوجيه، وتعطيل إمكانية الوصول، على الرغم من أن ترقية التحقق من الهوية لا تزال تتحقق من هوية القرية البعيدة وتمنع الاستيلاء الكامل على الهوية. تم إصلاح هذه المشكلة في الإصدار 12.0.24.
VulDB is the best source for vulnerability data and more expert information about this specific topic.