कोई माइनर Bitcoin Core की undo फ़ाइल को 4 GiB से आगे धकेल सकता था, जिससे 32-बिट पोज़िशन पलटकर डेटा बिगाड़ देतीं और उपयुक्त रीऑर्ग आने पर नोड बंद हो जाता; Windows और 32-बिट सिस्टम 2 GiB पर ही बिना रीऑर्ग के फ़ेल होते हैं। CVE-2026-117346 की गंभीरता कम है और इसके लिए पूरे नेटवर्क के क़रीब एक महीने के ब्लॉक लगेंगे। 32.1, 31.2, 30.4 और 29.5 में 64-बिट सिस्टम का सुधार है; 32-बिट नोड और FAT32 पर ब्लॉक रखने वाले अब भी प्रभावित हैं।
सॉकेट एक्सेप्शन की निगरानी poll() और select() में अब एक जैसी है (#36665), और जिन पीयर को भेजना रुका है उन पर Bitcoin Core 29.5 टाइमआउट लागू करता है (#36667)। फ़्लैटफ़ाइल पोज़िशन 64-बिट पूर्णांक पर आ गई हैं (#36669), सीड से मिले पतों के लिए नोड v2transport मानकर चलते हैं और एक DNS सीड हटा दिया गया है।
BIP 31 पिंग का समर्थन न होने का नाटक करके कोई दुर्भावनापूर्ण पीयर 20 मिनट वाले डिस्कनेक्ट से बच सकता था और धीमे-धीमे पढ़ते हुए नोड की सेंड क्यू को हर इनबाउंड पीयर पर 2MB और हर आउटबाउंड पर 5MB प्रति घंटे तक फुला सकता था। मध्यम गंभीरता वाली CVE-2026-117349 को #36667 ने Bitcoin Core 32.1, 31.2, 30.4 और 29.5 में ठीक किया; -blocksonly नोड पर ख़तरा काफ़ीस कम था।
कनेक्टेड पीयर TCP अर्जेंट डेटा भेजकर Windows, macOS और BSD नोड को क्रैश कर सकता था: select() बैकएंड में यह डेटा रुकी हुई रीडिंग से बच निकलता और मेमोरी बिना किसी सीमा के भरती जाती (CVE-2026-117350)। Linux नोड poll() पर चलते हैं, इसलिए उन पर असर नहीं पड़ा। मध्यम गंभीरता का यह बग Project Loupe के तहत LLM स्कैन में पकड़ा गया और Bitcoin Core 32.1, 31.2, 30.4 व 29.5 में ठीक है।
BIP 323 के अनुरूप Bitcoin Core 30.4 अब BIP 9 के बिट 5 से 28 को सॉफ़्ट फ़ोर्क का संकेत नहीं मानता, इसलिए इन्हें सेट करने वाले ब्लॉक पर अनजान डिप्लॉयमेंट की चेतावनी नहीं आती (#34779)। नेटवर्क की तरफ़, जिन पीयर को भेजना रुका हुआ है उन पर टाइमआउट लागू हो गया है (#36667), और फ़्लैटफ़ाइल पोज़िशन अब 64-बिट पूर्णांक में रखी जाती हैं (#36669)।
प्राइवेट ब्रॉडकास्ट की हद Bitcoin Core 31.2 में तय हो गई: नेटवर्क से वापस न लौटे ट्रांजैक्शन की क्यू 10,000 एंट्री पर रुक जाती है और भरने पर नए सबमिशन लौटा देती है, जिसे कॉल करने वाले को abortprivatebroadcast से खाली करना होगा (#35406)। BIP 323 के मुताबिक वर्ज़न बिट 5 से 28 अब सॉफ़्ट फ़ोर्क संकेत नहीं गिने जाते।
Bitcoin Core 32.1 के प्राइवेट ब्रॉडकास्ट में भेजने वाले का IP पता खुलने का ख़तरा नहीं रहा: v2 कनेक्शन फ़ेल होने पर v1 की दोबारा कोशिश Tor के बजाय सीधे जा सकती थी। -maxconnections का डिफ़ॉल्ट 125 से बढ़कर 200 हो गया है, और बाहर जाने वाले ट्रांजैक्शन रिले की दर अब हर पीयर के बजाय एक ग्लोबल बैकलॉग से सीमित होती है।
सामान्य कामकाज में डिस्क पर भारी पढ़ने-लिखने की वजह एक बग था, जिसे Bitcoin Core 29.4 ने ठीक कर दिया: chainstate डेटाबेस अपने बड़े हिस्से बार-बार दोबारा लिख रहा था। इलाज के तौर पर LevelDB का seek compaction बंद हुआ है और chainstate की नियमित कंपैक्शन होती है (#35465)।
chainstate की वजह से डिस्क पर चलती रहने वाली उथल-पुथल Bitcoin Core 30.3 में ख़त्म हो गई। feebumper का वह क्रैश भी ठीक हुआ जो कुल बंप फ़ीस उपलब्ध न होने पर आता था (#34870), और कॉइन सिलेक्शन का वह बग भी जो रकम को boolean की तरह निकालता था (#34888)। PSBT में pubnonce और आंशिक सिग्नेचर के डिसीरियलाइज़ेशन के दौरान अब MuSig2 pubkey की जाँच होती है (#34219)।
-privatebroadcast से IP पता लीक होने का रास्ता Bitcoin Core 31.1 ने बंद कर दिया: कुछ कनेक्शन चालू प्राइवेसी नेटवर्क के बजाय clearnet से निकल रहे थे। अपडेट से chainstate की वह री-राइटिंग भी रुकती है जो डिस्क पर ज़रूरत से ज़्यादा गतिविधि की वजह थी, और MuSig2 की एग्रीगेशन खाली 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 की गंभीरता उच्च है, हालांकि हमलावर को टिप पर वैध प्रूफ़-ऑफ़-वर्क खर्च करना पड़ता है और रिमोट कोड एक्ज़ीक्यूशन की आशंका कम मानी गई है। रिपोर्ट Cory Fields ने की; सुधार 29.0 में है।
पुराने डिज़ाइन की जगह Bitcoin Core 31.0 में cluster mempool आ गया: एंसेस्टर और डिसेंडेंट सीमाएँ हटीं, अब क्लस्टर की हद 64 ट्रांजैक्शन और 101 kB है, और CPFP carveout नहीं रहा। कम से कम 4096 MiB RAM वाली मशीनों पर -dbcache का डिफ़ॉल्ट 1024 MiB हो गया है, और नया -privatebroadcast विकल्प sendrawtransaction के ब्रॉडकास्ट सिर्फ़ Tor या I2P से भेजता है।
बिना नाम वाले वॉलेट की दो गड़बड़ियाँ Bitcoin Core 28.4 में ठीक हुईं: लीगेसी वॉलेट का माइग्रेशन (#34156) और createfromdump, जो फ़ेल होने पर wallets डायरेक्टरी मिटा देता था (#34215)। chainparams से एक DNS सीड भी हटा है (#33723)।
कंसेंसस के हिसाब से अमान्य ट्रांजैक्शन भेजने वाले पीयर को Bitcoin Core 29.3 अब सज़ा नहीं देता (#33050)। वैलिडेशन में लीगेसी, P2SH और segwit v0 स्क्रिप्ट के लिए प्रति-इनपुट sighash midstate कैश जुड़ा है (#32473) और witness stripping अब Script जाँच दोबारा चलाए बिना पकड़ में आता है (#33105); माइनर के addPackageTxs से unsigned integer ओवरफ़्लो भी हट गया (#33475)।
बिना नाम वाले लीगेसी वॉलेट का माइग्रेशन फ़ेल होने की समस्या Bitcoin Core 30.2 में नहीं रही (#34156), और ऐसे वॉलेट पर फ़ेल होकर createfromdump अब wallets डायरेक्टरी नहीं मिटाता (#34215)। IPC के wait कॉल के दौरान Ctrl-C दबाने पर प्रोग्राम अटकता भी नहीं (#33511)।
Bitcoin Core 30.0 या 30.1 में wallet.dat का माइग्रेशन फ़ेल होने पर दुर्लभ हालात में वॉलेट डायरेक्टरी की हर फ़ाइल मिट सकती है, जिससे फ़ंड ख़तरे में पड़ जाते हैं। डेवलपरों ने ये बाइनरी हटा ली हैं और 30.2 आने तक GUI या RPC से माइग्रेशन न करने को कहा है। बग के लिए डिफ़ॉल्ट, बिना नाम वाला ऐसा wallet.dat चाहिए जो माइग्रेट या लोड न हो पाए; बाकी यूज़र इससे अछूते हैं।
ऐसे अपुष्ट TRUC कॉइन, जिनके एंसेस्टर मौजूद हों, Bitcoin Core 30.1 के वॉलेट अब हिसाब में नहीं लेते (#33528)। IPC की तरफ़ विकल्पों के लिए -m आर्ग्युमेंट ज़रूरी नहीं रहा (#33229), मैसेज लॉगिंग का ओवरहेड घटा है (#33517) और चल रहे waitNext कॉल रद्द किए जा सकते हैं (#33676)।
ख़ास तौर पर गढ़े गए नॉन-स्टैंडर्ड ट्रांजैक्शन Bitcoin Core नोड को हर बार कुछ सेकंड उलझाए रख सकते थे और भेजने वाले का कनेक्शन भी नहीं कटता था, यानी हमलावर ब्लॉक के प्रसार में देरी करा सकता था। कम गंभीरता वाली CVE-2025-46598 की रिपोर्ट Antoine Poinsot ने की थी; v30.0 में सबसे ख़राब स्थिति का वैलिडेशन समय घटाकर इसका असर कम किया गया।
1GB से बड़े ब्लॉक 32-बिट Bitcoin Core नोड में साइज़ जाँच को ओवरफ़्लो कर डिस्क पर लिखते समय उसे क्रैश कर सकते थे, पर सिर्फ़ compact block के रूप में और सिर्फ़ ऐसे शिकार पर जो 3GB से ऊपर -maxmempool चला रहा हो और जिसमें 1GB ट्रांजैक्शन भरे हों। CVE-2025-46597 Pieter Wuille ने खोजी, गंभीरता कम है; 32-बिट सिस्टम पर -maxmempool की सीमा बाँधकर 29.1 और 30.0 में इसे बंद किया गया।