کوئی مائنر Bitcoin Core کی undo فائل کو 4 GiB سے آگے دھکیل سکتا تھا، جس سے اس کی 32 بٹ پوزیشنز گھوم کر ڈیٹا خراب کر دیتیں اور مناسب ری آرگ آنے پر نوڈ بند ہو جاتے؛ Windows اور 32 بٹ سسٹم ری آرگ کے بغیر ہی 2 GiB پر ناکام ہو جاتے ہیں۔ Low درجے کی CVE-2026-117346 کے لیے تقریباً ایک مہینے تک نیٹ ورک کے تمام بلاک درکار ہوں گے۔ ورژن 32.1، 31.2، 30.4 اور 29.5 میں 64 بٹ سسٹمز کا حل موجود ہے؛ 32 بٹ نوڈ اور FAT32 پر بلاک اسٹوریج بدستور متاثر ہیں۔
ساکٹ ایکسیپشن کی نگرانی Bitcoin Core 29.5 میں poll() اور select() دونوں پر یکساں ہو گئی ہے (#36665) اور پاز شدہ send پیئرز پر ٹائم آؤٹ لاگو ہوتا ہے (#36667)۔ flatfile پوزیشنز 64 بٹ انٹیجر پر آ گئیں (#36669)، seeds سے ملنے والے ایڈریسز کے لیے نوڈ v2transport فرض کرتے ہیں اور ایک DNS seed ہٹا دیا گیا ہے۔
بدنیت پیئر BIP 31 پنگ کی سپورٹ نہ ہونے کا ڈھونگ رچا کر 20 منٹ والے ڈس کنیکٹ سے بچ سکتا تھا اور آہستہ پڑھ کر نوڈ کی send قطار کو ہر inbound پیئر پر فی گھنٹہ 2MB اور ہر outbound پر 5MB تک پھلا سکتا تھا۔ Medium درجے کی CVE-2026-117349 کو #36667 نے Bitcoin Core 32.1، 31.2، 30.4 اور 29.5 میں ٹھیک کیا؛ -blocksonly نوڈز کو خطرہ کہیں کم تھا۔
Windows، macOS اور BSD پر چلنے والے نوڈ کو جڑا ہوا پیئر TCP urgent data بھیج کر کریش کر سکتا تھا: یہ ڈیٹا select() بیک اینڈ میں روکی گئی ریڈز سے بچ نکلتا اور میموری بغیر کسی حد کے بھرتی جاتی (CVE-2026-117350)۔ Linux نوڈ poll() استعمال کرتے ہیں، اس لیے محفوظ ہیں۔ Project Loupe کے تحت LLM اسکین سے پکڑی گئی اس Medium شدت کی خامی کا حل Bitcoin Core 32.1، 31.2، 30.4 اور 29.5 میں ہے۔
BIP 323 کے تحت Bitcoin Core 30.4 اب BIP 9 کے بٹس 5 تا 28 کو سافٹ فورک سگنل نہیں مانتا، اس لیے انہیں سیٹ کرنے والے بلاک پر نامعلوم ڈیپلائمنٹ کی وارننگ نہیں آتی (#34779)۔ نیٹ ورک کی تبدیلیوں میں پاز شدہ send پیئرز پر لازمی ٹائم آؤٹ (#36667) شامل ہے، اور flatfile پوزیشنز اب 64 بٹ انٹیجر میں رکھی جاتی ہیں (#36669)۔
پرائیویٹ براڈکاسٹ کی حد Bitcoin Core 31.2 میں طے ہو گئی: نیٹ ورک سے واپس نہ لوٹنے والی ٹرانزیکشنز کی قطار 10,000 پر رک جاتی ہے اور بھرنے پر نئی درخواستیں مسترد کر دیتی ہے، جسے خالی کرنے کے لیے کال کرنے والوں کو abortprivatebroadcast چلانا ہوگا (#35406)۔ BIP 323 کے مطابق ورژن بٹس 5 تا 28 اب سافٹ فورک سگنل شمار نہیں ہوتے۔
بھیجنے والے کا IP ایڈریس ظاہر ہونے کا خطرہ Bitcoin Core 32.1 کے پرائیویٹ براڈکاسٹ میں ختم ہو گیا؛ یہ لیک اس وقت ہو سکتا تھا جب ناکام v2 کنکشن Tor کے بجائے براہِ راست v1 پر دوبارہ کوشش کرتا۔ -maxconnections کی ڈیفالٹ حد 125 سے بڑھ کر 200 ہو گئی ہے، اور ٹرانزیکشنز کی آؤٹ گوئنگ ریلے پر ریٹ لمٹ اب فی پیئر نہیں بلکہ ایک مشترکہ بیک لاگ کے ذریعے لگتی ہے۔
عام کام کے دوران ڈسک پر بھاری ریڈ اور رائٹ کی وجہ ایک بگ نکلا جو Bitcoin Core 29.4 میں ٹھیک ہو گیا: chainstate ڈیٹابیس اپنے بڑے حصے بار بار دوبارہ لکھتا رہتا تھا۔ اب LevelDB کی seek compaction بند ہے اور chainstate باقاعدگی سے کمپیکٹ ہوتا ہے (#35465)۔
chainstate کی وجہ سے ڈسک پر مسلسل بوجھ Bitcoin Core 30.3 میں ختم ہو گیا۔ ساتھ ہی feebumper کا وہ کریش ٹھیک ہوا جو مشترکہ bump fee دستیاب نہ ہونے پر آتا تھا (#34870)، اور coin selection کا وہ بگ بھی جو رقم کو boolean کے طور پر نکالتا تھا (#34888)۔ PSBT میں MuSig2 کی pubkeys کی جانچ اب pubnonce اور جزوی دستخط کی deserialization کے دوران ہوتی ہے (#34219)۔
-privatebroadcast میں IP ایڈریس کا لیک Bitcoin Core 31.1 نے بند کر دیا: کچھ کنکشن فعال پرائیویسی نیٹ ورک کے بجائے clearnet پر نکل جاتے تھے۔ اپ ڈیٹ سے chainstate کی وہ ری رائٹس بھی رک گئیں جن سے ڈسک پر حد سے زیادہ سرگرمی ہوتی تھی، اور MuSig2 کی key aggregation اب خالی pubkey فہرست قبول نہیں کرتی (#35316)۔
ناکام v2 ہینڈ شیک Bitcoin Core 31.0 میں بھیجنے والے کا IP ایڈریس فاش کر سکتا ہے: -privatebroadcast فعال ہو تو v1 پر دوبارہ کوشش Tor پراکسی کو چھوڑ کر سیدھی پیئر سے جڑتی ہے۔ غالب محرک بدنیت پیئر ہے جو جان بوجھ کر ہینڈ شیک بند کر دے۔ 31.1 آنے تک صارفین یہ فیچر بند کر سکتے ہیں، -v2transport=0 لگا سکتے ہیں یا IPv4/IPv6 آؤٹ باؤنڈ Tor سے گزار سکتے ہیں۔
0.14.0 کے بعد اور 29.0 سے پہلے کے Bitcoin Core ورژن خاص طور پر بنائے گئے غلط بلاک کی جانچ کے دوران فری شدہ میموری پڑھ کر کریش ہو سکتے تھے۔ CVE-2024-52911 کا درجہ High ہے، اگرچہ حملہ آور کو ٹپ پر اصلی proof-of-work خرچ کرنا پڑتا ہے اور ریموٹ کوڈ ایگزیکیوشن کا امکان کم سمجھا جاتا ہے۔ رپورٹ Cory Fields نے کی؛ حل 29.0 میں ہے۔
پرانے ڈیزائن کی جگہ cluster mempool نے Bitcoin Core 31.0 میں لے لی: ancestor اور descendant حدیں ختم، اب کلسٹر زیادہ سے زیادہ 64 ٹرانزیکشنز اور 101 kB کے ہوں گے، اور CPFP carveout بھی نہیں رہا۔ کم از کم 4096 MiB ریم والی مشینوں پر ڈیفالٹ -dbcache بڑھ کر 1024 MiB ہو گیا ہے، جبکہ نیا -privatebroadcast آپشن sendrawtransaction کی نشریات صرف Tor یا I2P سے بھیجتا ہے۔
بے نام والٹس سے جڑی دو ناکامیاں Bitcoin Core 28.4 میں ٹھیک ہوئیں: legacy والٹ کی منتقلی (#34156) اور createfromdump، جس کی ناکامی پر wallets ڈائریکٹری ہی حذف ہو جاتی تھی (#34215)۔ chainparams سے ایک DNS seed بھی نکال دیا گیا ہے (#33723)۔
کنسینسس کے لحاظ سے غلط ٹرانزیکشن بھیجنے والے پیئرز کو Bitcoin Core 29.3 اب سزا نہیں دیتا (#33050)۔ ویلیڈیشن میں legacy، P2SH اور segwit v0 اسکرپٹس کے لیے فی ان پٹ sighash midstate کیش شامل ہوا (#32473) اور witness stripping اب Script چیکس دوبارہ چلائے بغیر پکڑی جاتی ہے (#33105)؛ مائنر کے addPackageTxs سے unsigned integer overflow بھی نکل گیا (#33475)۔
بے نام legacy والٹس کی منتقلی میں ناکامی Bitcoin Core 30.2 سے ختم ہوئی (#34156)، اور createfromdump ایسے والٹ پر ناکام ہو کر اب wallets ڈائریکٹری حذف نہیں کرتا (#34215)۔ IPC کی wait کالز کے دوران Ctrl-C دبانے سے اب پروگرام اٹکتا نہیں (#33511)۔
wallet.dat کی منتقلی Bitcoin Core 30.0 یا 30.1 میں ناکام ہو تو نادر حالات میں والٹ ڈائریکٹری کی ہر فائل حذف ہو سکتی ہے، جس سے فنڈز خطرے میں پڑ جاتے ہیں۔ ڈویلپرز نے یہ بائنریز واپس لے لیں اور کہا ہے کہ 30.2 تک GUI یا RPC سے منتقلی نہ کی جائے۔ یہ بگ تبھی سامنے آتا ہے جب ڈیفالٹ، بے نام wallet.dat منتقلی یا لوڈ میں ناکام ہو؛ باقی صارفین متاثر نہیں۔
ایسے غیر مصدقہ TRUC کوائنز جن کے ancestors ہوں، Bitcoin Core 30.1 کے والٹ اب زیرِ غور نہیں لاتے (#33528)۔ IPC میں آپشنز کے لیے -m آرگومنٹ لازمی نہیں رہا (#33229)، پیغامات کی لاگنگ کا بوجھ گھٹ گیا (#33517) اور چلتی ہوئی waitNext کالز منسوخ کی جا سکتی ہیں (#33676)۔
خاص طور پر تیار کی گئی غیر معیاری ٹرانزیکشنز Bitcoin Core نوڈ کو ہر بار چند سیکنڈ مصروف رکھ سکتی تھیں اور بھیجنے والا ڈس کنیکٹ بھی نہ ہوتا، یوں حملہ آور بلاکس کی ترسیل میں تاخیر ڈال سکتا تھا۔ Low درجے کی CVE-2025-46598 کی رپورٹ Antoine Poinsot نے دی؛ v30.0 میں بدترین صورت کا ویلیڈیشن وقت گھٹا کر اس کا اثر کم کیا گیا۔
1GB سے بڑے بلاک 32 بٹ Bitcoin Core نوڈز پر سائز کی جانچ اوور فلو کر کے ڈسک پر لکھتے وقت کریش کرا سکتے تھے، مگر صرف compact block کی صورت میں اور اسی نوڈ پر جس میں -maxmempool کی حد 3GB سے اوپر ہو اور اس میں 1GB ٹرانزیکشنز موجود ہوں۔ Low درجے کی CVE-2025-46597 Pieter Wuille نے ڈھونڈی؛ 29.1 اور 30.0 میں 32 بٹ سسٹمز پر -maxmempool کی حد باندھ کر اسے بند کیا گیا۔