بإمكان مُعدِّن أن يدفع ملف undo في Bitcoin Core إلى ما يتجاوز 4 GiB، فتلتف مواقعه ذات 32 بت وتتلف البيانات، وتتوقف العقد إذا تلت ذلك إعادة تنظيم مناسبة للسلسلة؛ أما Windows والأنظمة ذات 32 بت فتتعطل عند 2 GiB دون أي إعادة تنظيم. صُنفت CVE-2026-117346 منخفضة الخطورة، ويتطلب استغلالها نحو شهر من كتل الشبكة كلها. تعالج الإصدارات 32.1 و31.2 و30.4 و29.5 أنظمة 64 بت، بينما تبقى عقد 32 بت وتخزين الكتل على FAT32 عرضة للخلل.
وحّد Bitcoin Core 29.5 مراقبة استثناءات المقابس بين poll() وselect() (#36665)، وفرض مهلة زمنية على النظراء الذين توقف الإرسال إليهم مؤقتًا (#36667). وانتقلت مواقع flatfile إلى أعداد صحيحة بطول 64 بت (#36669)، وباتت العقد تفترض دعم v2transport في العناوين الآتية من البذور، مع حذف إحدى بذور DNS.
بادّعاء عدم دعم رسائل ping وفق BIP 31، كان بوسع نظير خبيث الإفلات من قطع الاتصال بعد 20 دقيقة والقراءة ببطء، فتتضخم قائمة إرسال العقدة بما يصل إلى 2MB في الساعة لكل نظير وارد و5MB لكل نظير صادر. أُغلقت الثغرة CVE-2026-117349، المصنفة متوسطة الخطورة، عبر #36667 في Bitcoin Core 32.1 و31.2 و30.4 و29.5، وكانت عقد -blocksonly أقل تعرضًا بكثير.
كان بوسع نظير متصل إسقاط العقد العاملة على Windows وmacOS وBSD بإرسال بيانات TCP عاجلة، إذ تتسلل عبر القراءات المتوقفة في واجهة select() وتتراكم في الذاكرة بلا حد (CVE-2026-117350). عقد Linux بمنأى عن الخلل لأنها تستخدم poll(). وتعالج الإصدارات 32.1 و31.2 و30.4 و29.5 من Bitcoin Core هذه الثغرة متوسطة الخطورة، التي كشفها فحص بنموذج لغوي كبير ضمن Project Loupe.
لم يعد Bitcoin Core 30.4 يعامل البتات من 5 إلى 28 في BIP 9 كإشارات انقسام ناعم، تطبيقًا لـ BIP 323، فلا تثير الكتل التي تضبطها تحذيرات النشر المجهول بعد الآن (#34779). وعلى صعيد الشبكة، فُرضت مهلة زمنية على النظراء الذين توقف الإرسال إليهم مؤقتًا (#36667)، فيما صارت مواقع flatfile تعتمد أعدادًا صحيحة بطول 64 بت (#36669).
سقف جديد للبث الخاص في Bitcoin Core 31.2: طابور المعاملات التي لم يرجع صداها من الشبكة بعد يتوقف عند 10,000 عنصر ويرفض أي إرسال جديد عند امتلائه، وعلى الجهة المستدعية تفريغه عبر abortprivatebroadcast (#35406). كما لم تعد بتات الإصدار من 5 إلى 28 تُحتسب إشارات انقسام ناعم، التزامًا بـ BIP 323.
لم يعد البث الخاص في Bitcoin Core 32.1 يهدد بكشف عنوان IP للمرسل، وهو تسريب قد يقع حين يفشل اتصال v2 فتُعاد المحاولة عبر v1 مباشرة بدل المرور بـ Tor. وارتفعت القيمة الافتراضية لـ -maxconnections من 125 إلى 200، وصار تقييد معدل ترحيل المعاملات الصادرة يعتمد على طابور عام بدل كل نظير على حدة.
يعود الضغط الكبير على القرص أثناء التشغيل العادي إلى خلل عالجه Bitcoin Core 29.4: كانت قاعدة بيانات chainstate تعيد كتابة أجزاء كبيرة من نفسها. يقوم الإصلاح على تعطيل seek compaction في LevelDB وضغط chainstate بانتظام (#35465).
ينتهي إنهاك القرص بسبب chainstate مع Bitcoin Core 30.3، الذي يصلح أيضًا انهيار feebumper عندما لا تكون رسوم الرفع المجمعة متاحة (#34870) وخللًا في اختيار العملات كان يحسب مبلغًا كقيمة منطقية (#34888). وفي جانب PSBT، باتت مفاتيح MuSig2 العامة تخضع للتحقق أثناء فك تسلسل pubnonce والتوقيعات الجزئية (#34219).
أغلق Bitcoin Core 31.1 تسريبًا لعنوان IP في -privatebroadcast، إذ كانت بعض الاتصالات تخرج عبر الشبكة المكشوفة بدل شبكة الخصوصية المفعّلة. ووضع التحديث حدًا لإعادة كتابة chainstate المسؤولة عن نشاط القرص المفرط، وصار يرفض قائمة مفاتيح عامة فارغة في تجميع مفاتيح MuSig2 (#35316).
فشل مصافحة v2 قد يفضح عنوان IP للمرسل في Bitcoin Core 31.0: فمع تفعيل -privatebroadcast تتجاوز إعادة المحاولة عبر v1 وكيل Tor وتتصل بالنظير مباشرة. والمحفز الأرجح نظير خبيث يغلق المصافحة عمدًا. وإلى حين صدور 31.1، يمكن للمستخدمين إيقاف الميزة أو ضبط -v2transport=0 أو توجيه الاتصالات الصادرة عبر IPv4/IPv6 من خلال Tor.
كانت إصدارات Bitcoin Core بعد 0.14.0 وقبل 29.0 عرضة لقراءة ذاكرة محررة أثناء التحقق من كتلة غير صالحة مصممة خصيصًا، ما يُسقط العقدة. صُنفت CVE-2024-52911 عالية الخطورة، مع أن المهاجم مضطر إلى إنفاق إثبات عمل صالح عند رأس السلسلة، ويُستبعد تنفيذ شيفرة عن بُعد. أبلغ عنها Cory Fields، والإصلاح في 29.0.
يحل cluster mempool محل التصميم القديم في Bitcoin Core 31.0: تختفي حدود الأسلاف والأحفاد لصالح عناقيد لا تتجاوز 64 معاملة و101 kB، ويزول استثناء CPFP carveout. وترتفع القيمة الافتراضية لـ -dbcache إلى 1024 MiB في الأجهزة ذات 4096 MiB من الذاكرة على الأقل، ويتيح الخيار الجديد -privatebroadcast بث معاملات sendrawtransaction عبر Tor أو I2P حصرًا.
عطلان مرتبطان بالمحافظ غير المسماة يعالجهما Bitcoin Core 28.4: ترحيل المحافظ القديمة (#34156) وcreatefromdump، الذي كان مسار فشله يحذف مجلد المحافظ (#34215). كما أُزيلت إحدى بذور DNS من chainparams (#33723).
توقف Bitcoin Core 29.3 عن معاقبة النظراء الذين يرسلون معاملات مخالفة للإجماع (#33050). ويكتسب التحقق ذاكرة تخزين مؤقتة لحالة sighash الوسيطة لكل مدخل في نصوص legacy وP2SH وsegwit v0 (#32473)، ويكتشف تجريد الشاهد دون إعادة تشغيل فحوص Script (#33105)، فيما زال فيضان عدد صحيح بلا إشارة من addPackageTxs في شيفرة التعدين (#33475).
مع Bitcoin Core 30.2 يختفي فشل الترحيل في المحافظ القديمة غير المسماة (#34156)، ولم يعد createfromdump يحذف مجلد المحافظ عند تعثره على إحداها (#34215). كذلك لم يعد الضغط على Ctrl-C يعلّق البرنامج أثناء استدعاءات الانتظار في IPC (#33511).
في ظروف نادرة، قد يؤدي فشل ترحيل wallet.dat في Bitcoin Core 30.0 أو 30.1 إلى حذف كل ملفات مجلد المحفظة، ما يعرّض الأموال للخطر. سحب المطورون تلك الملفات التنفيذية ويطلبون من المستخدمين عدم الترحيل عبر الواجهة الرسومية أو RPC حتى صدور 30.2. يشترط الخلل وجود wallet.dat افتراضي غير مسمى يفشل ترحيله أو تحميله، أما بقية المستخدمين فليسوا معنيين.
تتوقف المحافظ في Bitcoin Core 30.1 عن احتساب عملات TRUC غير المؤكدة التي لها أسلاف (#33528). وفي IPC، لم تعد الخيارات تتطلب الوسيط -m (#33229)، وانخفضت كلفة تسجيل الرسائل (#33517)، وبات إلغاء استدعاءات waitNext الجارية ممكنًا (#33676).
معاملات غير قياسية مصممة بعناية كانت قادرة على شغل عقدة Bitcoin Core بضع ثوانٍ لكل منها دون قطع اتصال المرسل، ما يمنح المهاجم وسيلة لتأخير انتشار الكتل. صُنفت CVE-2025-46598 منخفضة الخطورة، وأبلغ عنها Antoine Poinsot، وخُففت في v30.0 بتقليص أسوأ زمن للتحقق.
كتل تتجاوز 1GB قد تتخطى فحص الحجم بفيضان عددي في عقد Bitcoin Core ذات 32 بت فتسقطها عند الكتابة على القرص، لكن ذلك لا يحدث إلا بكتلة مضغوطة وضد ضحية يشغّل -maxmempool فوق 3GB وفيه 1GB من المعاملات. اكتشف Pieter Wuille الثغرة CVE-2025-46597 المصنفة منخفضة الخطورة، وأغلقها تقييد -maxmempool على أنظمة 32 بت في 29.1 و30.0.