یک ماینر میتوانست فایل undo در Bitcoin Core را از 4 GiB فراتر ببرد؛ موقعیتهای 32 بیتی سرریز میکردند، داده خراب میشد و اگر reorg مناسبی پیش میآمد نود خاموش میشد. در Windows و سیستمهای 32 بیتی این خطا در 2 GiB و بدون reorg روی میدهد. 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)، نودها برای آدرسهای دریافتی از seedها v2transport را فرض میگیرند و یکی از DNS seedها حذف شده است.
همتای مخرب میتوانست وانمود کند از پینگ BIP 31 پشتیبانی نمیکند، از قطع اتصال 20 دقیقهای بگریزد و با خواندن کند داده، صف ارسال نود را به ازای هر همتای ورودی تا 2MB و هر همتای خروجی تا 5MB در ساعت باد کند. CVE-2026-117349 با شدت متوسط در Bitcoin Core 32.1، 31.2، 30.4 و 29.5 با #36667 رفع شده است؛ نودهای -blocksonly در معرض خطر بسیار کمتری بودند.
نودهای Windows، macOS و BSD با داده فوری TCP از سوی یک همتای متصل از پا درمیآمدند: این داده از سد خواندنهای متوقفشده در بکاند select() میگذشت و بیهیچ سقفی در حافظه صف میشد (CVE-2026-117350). نودهای لینوکسی از poll() استفاده میکنند و آسیب نمیبینند. باگی با شدت متوسط که اسکن یک LLM در چارچوب Project Loupe آن را پیدا کرد، و در Bitcoin Core 32.1، 31.2، 30.4 و 29.5 برطرف شده است.
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) و باگ انتخاب کوینی که مبلغی را بهصورت boolean محاسبه میکرد (#34888) هم برطرف شدهاند. در بخش PSBT، کلیدهای عمومی MuSig2 حالا هنگام deserialize کردن pubnonce و امضای جزئی اعتبارسنجی میشوند (#34219).
نشت آدرس IP در -privatebroadcast با Bitcoin Core 31.1 بسته شد: برخی اتصالها بهجای شبکه حریم خصوصی فعال، از clearnet میرفتند. بازنویسیهای chainstate که باعث فعالیت بیش از حد دیسک بود هم متوقف شده و تجمیع کلید MuSig2 فهرست خالی کلید عمومی را رد میکند (#35316).
شکست دستدهی v2 در Bitcoin Core 31.0 میتواند آدرس IP فرستنده را لو بدهد: با فعال بودن -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 طراحی قدیمی را کنار زده است: محدودیتهای ancestor و descendant جای خود را به خوشههایی با سقف 64 تراکنش و 101 kB دادهاند و CPFP carveout کنار رفته است. مقدار پیشفرض -dbcache در دستگاههایی با دستکم 4096 MiB رم به 1024 MiB میرسد و گزینه تازه -privatebroadcast پخش sendrawtransaction را فقط از Tor یا I2P انجام میدهد.
دو خطا در کار با کیف پولهای بینام در Bitcoin Core 28.4 رفع شده است: مهاجرت کیف پول legacy (#34156) و createfromdump که مسیر شکستش پوشه wallets را پاک میکرد (#34215). یکی از DNS seedها هم از chainparams حذف شده است (#33723).
Bitcoin Core 29.3 دیگر همتاهایی را که تراکنش نامعتبر از نظر اجماع میفرستند تنبیه نمیکند (#33050). اعتبارسنجی یک کش midstate برای sighash هر ورودی در اسکریپتهای legacy، P2SH و segwit v0 گرفته است (#32473) و witness stripping را بدون اجرای دوباره بررسیهای Script تشخیص میدهد (#33105)؛ سرریز عدد صحیح بدون علامت در addPackageTxs ماینر هم برطرف شده است (#33475).
با Bitcoin Core 30.2 شکست مهاجرت کیف پولهای legacy بینام از میان رفته است (#34156) و createfromdump وقتی روی چنین کیف پولی شکست بخورد دیگر پوشه wallets را پاک نمیکند (#34215). زدن Ctrl-C هم هنگام فراخوانیهای انتظار IPC دیگر نرمافزار را معلق نمیگذارد (#33511).
شکست مهاجرت wallet.dat در Bitcoin Core 30.0 یا 30.1 در شرایطی نادر میتواند همه فایلهای پوشه کیف پول را پاک کند و دارایی کاربر را به خطر بیندازد. توسعهدهندگان این باینریها را از دسترس خارج کردهاند و از کاربران خواستهاند تا نسخه 30.2 از طریق GUI یا RPC مهاجرت نکنند. باگ فقط وقتی فعال میشود که wallet.dat پیشفرض و بینام در مهاجرت یا بارگذاری شکست بخورد؛ بقیه کاربران در اماناند.
کیف پولها در Bitcoin Core 30.1 دیگر کوینهای تأییدنشده TRUC را که ancestor دارند در نظر نمیگیرند (#33528). در بخش IPC، گزینهها دیگر به آرگومان -m نیاز ندارند (#33229)، ثبت پیامها سربار کمتری دارد (#33517) و فراخوانیهای در حال اجرای waitNext را میتوان لغو کرد (#33676).
تراکنشهای غیراستاندارد دستکاریشده میتوانستند هر کدام چند ثانیه نود Bitcoin Core را مشغول کنند، بیآنکه فرستنده قطع شود؛ مهاجم از این راه میتوانست انتشار بلاک را به تأخیر بیندازد. CVE-2025-46598 را که شدت کم دارد Antoine Poinsot گزارش کرد و v30.0 با کاهش بدترین زمان اعتبارسنجی آن را مهار کرده است.
بلاکهای بزرگتر از 1GB میتوانستند بررسی اندازه را در نودهای 32 بیتی Bitcoin Core سرریز کنند و نود را هنگام نوشتن روی دیسک از کار بیندازند؛ اما فقط در قالب compact block و فقط علیه قربانیای که -maxmempool را بالای 3GB گذاشته و 1GB تراکنش در آن دارد. Pieter Wuille این ضعف را با شناسه CVE-2025-46597 و شدت کم پیدا کرد و محدود کردن -maxmempool در سیستمهای 32 بیتی آن را در 29.1 و 30.0 بست.