Bir madenci, Bitcoin Core'un undo dosyasını 4 GiB'ın ötesine taşırıp 32 bit konumların başa dönmesine ve verinin bozulmasına yol açabilir; uygun bir reorg gelirse düğümler kapanıyor. Windows ve 32 bit sistemlerde sınır 2 GiB, reorg da gerekmiyor. Düşük dereceli CVE-2026-117346 için ağdaki tüm blokların yaklaşık bir aylığı gerekiyor. 32.1, 31.2, 30.4 ve 29.5 sürümleri 64 bit sistemleri düzeltiyor; 32 bit düğümler ile FAT32 blok depolaması etkilenmeye devam ediyor.
Soket istisnalarının izlenmesi Bitcoin Core 29.5'te poll() ve select() arasında eşitlendi (#36665), duraklatılmış gönderim eşlerine de zaman aşımı zorunlu hale geldi (#36667). Flatfile konumları 64 bit tam sayıya geçerken (#36669) düğümler seed kaynaklı adreslerde v2transport varsayıyor, bir DNS seed ise listeden çıkarıldı.
BIP 31 ping desteği yokmuş gibi davranan kötü niyetli bir eş, 20 dakikalık bağlantı kesmeden kaçıp yavaş okuyarak düğümün gönderim kuyruğunu gelen eş başına saatte 2MB'a, giden eş başına 5MB'a kadar şişirebiliyordu. Orta dereceli CVE-2026-117349, Bitcoin Core 32.1, 31.2, 30.4 ve 29.5'e giren #36667 ile kapatıldı; -blocksonly düğümler çok daha az risk altındaydı.
Windows, macOS ve BSD düğümleri, bağlı bir eşin gönderdiği TCP acil verisiyle çökertilebiliyordu: bu veri select() arka ucunda duraklatılmış okumaları aşıyor, bellekte sınırsızca birikiyordu (CVE-2026-117350). poll() kullanan Linux düğümleri etkilenmiyor. Orta önem dereceli hatayı Project Loupe kapsamındaki bir LLM taraması buldu; düzeltme Bitcoin Core 32.1, 31.2, 30.4 ve 29.5'te.
Bitcoin Core 30.4, BIP 323 doğrultusunda BIP 9'un 5 ile 28 arasındaki bitlerini artık soft fork sinyali saymıyor; bu bitleri işaretleyen bloklar bilinmeyen dağıtım uyarısı tetiklemiyor (#34779). Ağ tarafında duraklatılmış gönderim eşlerine zaman aşımı uygulanıyor (#36667), flatfile konumları da 64 bit tam sayıya geçiyor (#36669).
Bitcoin Core 31.2'de özel yayına tavan geldi: ağdan henüz geri yankılanmamış işlemlerin kuyruğu 10.000 kayıtta duruyor, dolunca yeni gönderimleri reddediyor ve temizleme işi abortprivatebroadcast ile çağırana kalıyor (#35406). BIP 323 uyarınca 5-28 arası sürüm bitleri de soft fork sinyali sayılmıyor.
Bitcoin Core 32.1'de özel yayın artık gönderenin IP adresini açığa çıkarma riski taşımıyor: sızıntı, başarısız bir v2 bağlantısının v1 ile yeniden denenirken Tor'u atlayıp doğrudan çıkmasından kaynaklanabiliyordu. Varsayılan -maxconnections 125'ten 200'e çıktı; giden işlem aktarımında hız sınırı da eş başına değil, genel bir birikim üzerinden işliyor.
Normal çalışma sırasındaki yoğun disk okuma ve yazmasının kaynağı Bitcoin Core 29.4'te giderilen bir hata: chainstate veritabanı kendisinin büyük bölümlerini sürekli yeniden yazıyordu. Düzeltme, LevelDB'nin seek compaction özelliğini kapatıyor ve chainstate'i düzenli aralıklarla sıkıştırıyor (#35465).
Chainstate kaynaklı disk yükü Bitcoin Core 30.3 ile bitiyor. Aynı güncelleme, toplam artırım ücreti alınamadığında feebumper'ın çökmesini (#34870) ve bir tutarı boolean olarak hesaplayan coin seçimi hatasını (#34888) gideriyor. PSBT tarafında MuSig2 pubkey'leri artık pubnonce ve kısmi imza serileştirmesi çözülürken doğrulanıyor (#34219).
-privatebroadcast özelliğindeki IP adresi sızıntısı Bitcoin Core 31.1'de kapandı: bazı bağlantılar etkin gizlilik ağı yerine clearnet üzerinden çıkıyordu. Güncelleme, aşırı disk etkinliğine yol açan chainstate yeniden yazımlarına da son veriyor ve MuSig2 anahtar birleştirmede boş pubkey listesini reddediyor (#35316).
Bitcoin Core 31.0'da başarısız bir v2 el sıkışması gönderenin IP adresini ele verebiliyor: -privatebroadcast açıkken v1 yeniden denemesi Tor vekilini atlayıp eşe doğrudan bağlanıyor. Olası tetikleyici, el sıkışmayı bilerek kapatan kötü niyetli bir eş. 31.1 çıkana kadar kullanıcılar özelliği kapatabilir, -v2transport=0 ayarlayabilir ya da giden IPv4/IPv6 trafiğini Tor'dan geçirebilir.
0.14.0 sonrası ve 29.0 öncesi Bitcoin Core sürümleri, özel hazırlanmış geçersiz bir bloğu doğrularken serbest bırakılmış belleği okuyup düğümü çökertebiliyordu. CVE-2024-52911 yüksek önem dereceli, ancak saldırganın zincirin ucunda geçerli iş kanıtı harcaması gerekiyor; uzaktan kod çalıştırma olası görülmüyor. Hatayı Cory Fields bildirdi, düzeltme 29.0'da.
Küme mempool'u (cluster mempool) Bitcoin Core 31.0'da eski tasarımın yerini alıyor: ata ve torun sınırları gidiyor, kümeler 64 işlem ve 101 kB ile sınırlanıyor, CPFP carveout kaldırılıyor. Varsayılan -dbcache, en az 4096 MiB RAM'li makinelerde 1024 MiB'a çıkıyor. Yeni -privatebroadcast seçeneği ise sendrawtransaction yayınlarını yalnızca Tor veya I2P üzerinden gönderiyor.
Adsız cüzdanlarla ilgili iki arıza Bitcoin Core 28.4'te düzeltildi: eski cüzdan taşıma (#34156) ve başarısız olduğunda wallets dizinini silen createfromdump (#34215). chainparams'tan da bir DNS seed çıkarıldı (#33723).
Konsensüse aykırı işlem gönderen eşler Bitcoin Core 29.3'te artık cezalandırılmıyor (#33050). Doğrulama tarafına eski tip, P2SH ve segwit v0 script'leri için girdi başına sighash midstate önbelleği ekleniyor (#32473), witness stripping de Script kontrolleri yeniden çalıştırılmadan tespit ediliyor (#33105). Madencinin addPackageTxs kodundaki işaretsiz tam sayı taşması ise giderildi (#33475).
Adsız eski cüzdanlardaki taşıma hatası Bitcoin Core 30.2 ile ortadan kalktı (#34156); createfromdump da böyle bir cüzdanda başarısız olunca wallets dizinini silmiyor (#34215). IPC bekleme çağrıları sırasında Ctrl-C'ye basmak artık programı kilitlemiyor (#33511).
Nadir koşullarda başarısız bir wallet.dat taşıması, Bitcoin Core 30.0 veya 30.1'de cüzdan dizinindeki tüm dosyaları silip fonları riske atabiliyor. Geliştiriciler bu ikili dosyaları geri çekti ve 30.2'ye kadar GUI ya da RPC üzerinden taşıma yapılmamasını istiyor. Hata, taşınamayan veya yüklenemeyen varsayılan, adsız bir wallet.dat gerektiriyor; diğer kullanıcılar etkilenmiyor.
Atası olan onaylanmamış TRUC coin'leri Bitcoin Core 30.1 cüzdanlarında artık hesaba katılmıyor (#33528). IPC tarafında seçenekler -m argümanı istemiyor (#33229), mesaj günlüğü daha az ek yük getiriyor (#33517), çalışan waitNext çağrıları da iptal edilebiliyor (#33676).
Özel hazırlanmış standart dışı işlemler, göndereni bağlantıdan düşürmeden Bitcoin Core düğümünü her biri için birkaç saniye meşgul edebiliyor, saldırgana blok yayılımını geciktirme yolu açıyordu. Antoine Poinsot'un bildirdiği düşük dereceli CVE-2025-46598'in etkisi, v30.0'da en kötü durum doğrulama süresi kısaltılarak azaltıldı.
32 bit Bitcoin Core düğümlerinde 1GB'ı aşan bloklar bir boyut denetimini taşırıp diske yazma sırasında düğümü çökertebiliyordu; ancak blok compact block olarak gelmeli, kurban da -maxmempool'u 3GB'ın üzerinde çalıştırıp içinde 1GB işlem tutuyor olmalıydı. Pieter Wuille'in bulduğu düşük dereceli CVE-2025-46597, 32 bit sistemlerde -maxmempool'a üst sınır konarak 29.1 ve 30.0'da kapatıldı.