Een miner kon een undo-bestand van Bitcoin Core voorbij 4 GiB duwen, waarna de 32-bits posities omsloegen en data beschadigd raakte; volgt dan de juiste reorg, dan sluiten nodes af. Op Windows en 32-bits systemen gaat het al zonder reorg mis bij 2 GiB. CVE-2026-117346 heeft de classificatie Low en zou ongeveer een maand aan alle blokken van het netwerk vergen. Versies 32.1, 31.2, 30.4 en 29.5 lossen het op voor 64-bits systemen; 32-bits nodes en blokopslag op FAT32 blijven kwetsbaar.
In Bitcoin Core 29.5 bewaken poll() en select() socketuitzonderingen voortaan op dezelfde manier (#36665), en voor gepauzeerde send-peers geldt nu een harde time-out (#36667). Flatfile-posities stappen over op 64-bits integers (#36669), nodes gaan bij adressen uit seeds uit van v2transport en er verdwijnt één DNS-seed.
Door te doen alsof hij BIP 31-pings niet ondersteunt, kon een kwaadwillende peer de verbreking na 20 minuten ontlopen en traag blijven lezen. De verzendwachtrij van een node zwol zo op met maximaal 2 MB per uur per inkomende peer en 5 MB per uitgaande. CVE-2026-117349, ingeschaald als Medium, is met #36667 verholpen in Bitcoin Core 32.1, 31.2, 30.4 en 29.5; -blocksonly-nodes waren veel minder kwetsbaar.
Een verbonden peer kon nodes op Windows, macOS en BSD laten crashen met TCP urgent data: die glipte in de select()-backend langs gepauzeerde leesacties en stapelde zich onbeperkt op in het geheugen (CVE-2026-117350). Linux-nodes gebruiken poll() en lopen geen risico. Bitcoin Core 32.1, 31.2, 30.4 en 29.5 dichten de bug, die als Medium is geclassificeerd en bij een LLM-scan binnen Project Loupe aan het licht kwam.
Bitcoin Core 30.4 ziet BIP 9-bits 5 tot en met 28 niet langer als soft-fork-signalen, in lijn met BIP 323. Blokken die deze bits zetten, leiden dus niet meer tot waarschuwingen over onbekende deployments (#34779). Op netwerkgebied geldt nu een time-out voor gepauzeerde send-peers (#36667) en flatfile-posities gebruiken voortaan 64-bits integers (#36669).
Private broadcast krijgt in Bitcoin Core 31.2 een bovengrens: de wachtrij van transacties die nog niet door het netwerk zijn teruggekaatst, stopt bij 10.000 stuks. Is hij vol, dan worden nieuwe inzendingen geweigerd en moeten aanroepers hem leegmaken met abortprivatebroadcast (#35406). Versiebits 5 tot en met 28 tellen, conform BIP 323, niet meer als soft-fork-signalen.
Private broadcast in Bitcoin Core 32.1 kan het IP-adres van de verzender niet meer prijsgeven. Dat lek kon optreden als een mislukte v2-verbinding het opnieuw probeerde over v1, rechtstreeks in plaats van via Tor. De standaardwaarde van -maxconnections gaat van 125 naar 200, en uitgaande transactie-relay wordt begrensd via een globale backlog in plaats van per peer.
Zware lees- en schrijfactiviteit op schijf tijdens normaal gebruik blijkt terug te voeren op een bug die Bitcoin Core 29.4 verhelpt: de chainstate-database bleef grote delen van zichzelf herschrijven. Als oplossing gaat seek compaction in LevelDB uit en krijgt de chainstate regelmatig een compaction (#35465).
Bitcoin Core 30.3 maakt een einde aan het aanhoudende schijfwerk rond de chainstate. Ook repareert de versie een crash van feebumper als de gecombineerde bump fee niet beschikbaar is (#34870) en een coin-selectiebug die een bedrag als boolean berekende (#34888). Bij PSBT worden MuSig2-pubkeys voortaan gevalideerd tijdens de deserialisatie van pubnonces en partiële handtekeningen (#34219).
Bitcoin Core 31.1 dicht een IP-adreslek in -privatebroadcast: sommige verbindingen liepen via clearnet in plaats van over het ingeschakelde privacynetwerk. Verder stopt de update de chainstate-herschrijvingen achter de overmatige schijfactiviteit en wijst MuSig2-sleutelaggregatie een lege pubkey-lijst nu af (#35316).
Een mislukte v2-handshake kan in Bitcoin Core 31.0 het IP-adres van de verzender blootgeven: met -privatebroadcast ingeschakeld slaat de herkansing over v1 de Tor-proxy over en verbindt die rechtstreeks met de peer. Waarschijnlijke aanleiding is een kwaadwillende peer die de handshake met opzet afbreekt. Tot 31.1 verschijnt, kunnen gebruikers de functie uitzetten, -v2transport=0 instellen of uitgaand IPv4/IPv6-verkeer via Tor sturen.
Releases van Bitcoin Core na 0.14.0 en vóór 29.0 konden vrijgegeven geheugen lezen bij het valideren van een gemanipuleerd ongeldig blok, waarna de node crashte. CVE-2024-52911 is als High geclassificeerd, al moet een aanvaller geldige proof-of-work aan de tip besteden; uitvoering van code op afstand wordt onwaarschijnlijk geacht. Cory Fields meldde het probleem, 29.0 bevat de fix.
Cluster mempool vervangt in Bitcoin Core 31.0 het oude ontwerp: limieten op voorouders en nakomelingen maken plaats voor clusters van maximaal 64 transacties en 101 kB, en de CPFP-carve-out verdwijnt. De standaard -dbcache stijgt naar 1024 MiB op machines met minstens 4096 MiB RAM, en een nieuwe optie -privatebroadcast stuurt sendrawtransaction-broadcasts uitsluitend over Tor of I2P.
Bitcoin Core 28.4 repareert twee fouten rond naamloze wallets: de migratie van legacy wallets (#34156) en createfromdump, dat bij een mislukking de wallets-map wiste (#34215). Verder verdwijnt er een DNS-seed uit chainparams (#33723).
Peers die consensus-ongeldige transacties sturen, worden in Bitcoin Core 29.3 niet langer gestraft (#33050). Validatie krijgt een sighash-midstate-cache per input voor legacy-, P2SH- en segwit v0-scripts (#32473) en herkent witness stripping zonder Script-controles opnieuw te draaien (#33105). In addPackageTxs van de miner verdwijnt een unsigned integer overflow (#33475).
Met Bitcoin Core 30.2 is een migratiefout bij naamloze legacy wallets van de baan (#34156), en createfromdump wist de wallets-map niet meer als het op zo'n wallet stukloopt (#34215). Ctrl-C indrukken leidt ook niet langer tot een hang tijdens IPC-wachtaanroepen (#33511).
Onder zeldzame omstandigheden kan een mislukte migratie van wallet.dat in Bitcoin Core 30.0 of 30.1 alle bestanden in de walletmap wissen, waardoor geld op het spel staat. Ontwikkelaars hebben die binaries teruggetrokken en vragen gebruikers tot 30.2 niet te migreren via de GUI of RPC. De bug vereist een standaard, naamloze wallet.dat die niet kan migreren of laden; andere gebruikers hebben er geen last van.
Wallets op Bitcoin Core 30.1 laten onbevestigde TRUC-coins met voorouders voortaan links liggen (#33528). Aan de IPC-kant is het argument -m niet meer nodig voor opties (#33229), kost het loggen van berichten minder overhead (#33517) en kunnen lopende waitNext-aanroepen worden afgebroken (#33676).
Gemanipuleerde niet-standaard transacties konden een Bitcoin Core-node telkens enkele seconden bezighouden zonder dat de verbinding met de afzender werd verbroken, zodat een aanvaller de verspreiding van blokken kon vertragen. CVE-2025-46598, ingeschaald als Low, werd gemeld door Antoine Poinsot en in v30.0 beperkt door de validatietijd in het slechtste geval terug te dringen.
Blokken van meer dan 1 GB konden op 32-bits Bitcoin Core-nodes een groottecontrole laten overlopen en de node bij het wegschrijven naar schijf laten crashen. Dat lukte alleen als compact block en alleen bij een slachtoffer met -maxmempool boven de 3 GB en 1 GB aan transacties daarin. Pieter Wuille ontdekte CVE-2025-46597 (Low); een plafond op -maxmempool voor 32-bits systemen maakte er in 29.1 en 30.0 een einde aan.