A miner could push a Bitcoin Core undo file past 4 GiB, wrapping its 32-bit positions and corrupting data, so nodes shut down if the right reorg follows; Windows and 32-bit systems fail at 2 GiB with no reorg. CVE-2026-117346 is rated Low and would take roughly a month of all network blocks. Versions 32.1, 31.2, 30.4 and 29.5 fix 64-bit systems; 32-bit nodes and FAT32 block storage stay affected.
Socket exception monitoring now matches between poll() and select() in Bitcoin Core 29.5 (#36665), and paused send peers face an enforced timeout (#36667). Flatfile positions move to 64-bit integers (#36669), nodes assume v2transport for addresses from seeds, and one DNS seed is removed.
By pretending not to support BIP 31 pings, a malicious peer could dodge the 20-minute disconnect and read slowly, swelling a node's send queue by up to 2MB per hour for each inbound peer and 5MB for each outbound one. CVE-2026-117349, rated Medium, is fixed by #36667 in Bitcoin Core 32.1, 31.2, 30.4 and 29.5; -blocksonly nodes were much less exposed.
Windows, macOS and BSD nodes could be crashed by a connected peer sending TCP urgent data, which slipped past paused reads in the select() backend and queued memory without limit (CVE-2026-117350). Linux nodes use poll() and are not affected. Bitcoin Core 32.1, 31.2, 30.4 and 29.5 fix the Medium-severity bug, which an LLM scan under Project Loupe found.
Bitcoin Core 30.4 stops treating BIP 9 bits 5 to 28 as soft fork signals, following BIP 323, so blocks that set them no longer trigger unknown-deployment warnings (#34779). Network changes include a timeout enforced on paused send peers (#36667), and flatfile positions now use 64-bit integers (#36669).
Private broadcast gets a ceiling in Bitcoin Core 31.2: the queue of transactions not yet echoed back from the network stops at 10,000 entries and refuses new submissions when full, leaving callers to clear it with abortprivatebroadcast (#35406). Version bits 5 to 28 no longer count as soft fork signals, per BIP 323.
Private broadcast in Bitcoin Core 32.1 no longer risks exposing the sender's IP address, a leak that could occur when a failed v2 connection retried over v1 directly instead of through Tor. The default -maxconnections rises from 125 to 200, and outgoing transaction relay is rate-limited through a global backlog rather than per peer.
Heavy disk reads and writes during normal operation trace to a bug fixed in Bitcoin Core 29.4: the chainstate database kept rewriting large parts of itself. The fix disables LevelDB seek compaction and compacts the chainstate on a regular basis (#35465).
Chainstate disk churn ends in Bitcoin Core 30.3, which also repairs a feebumper crash when the combined bump fee is unavailable (#34870) and a coin selection bug that computed an amount as a boolean (#34888). On the PSBT side, MuSig2 pubkeys now get validated during pubnonce and partial signature deserialization (#34219).
An IP address leak in -privatebroadcast is closed in Bitcoin Core 31.1: some connections went out over clearnet instead of the enabled privacy network. The update also ends the chainstate rewrites behind excessive disk activity and rejects an empty pubkey list in MuSig2 key aggregation (#35316).
A failed v2 handshake can expose the sender's IP address in Bitcoin Core 31.0: with -privatebroadcast set, the v1 retry skips the Tor proxy and connects directly to the peer. A malicious peer closing the handshake on purpose is the likely trigger. Until 31.1 ships, users can turn the feature off, set -v2transport=0 or send IPv4/IPv6 outbound through Tor.
Bitcoin Core releases after 0.14.0 and before 29.0 could read freed memory while validating a crafted invalid block, crashing the node. CVE-2024-52911 is rated High, though an attacker must spend valid proof-of-work at the tip, and remote code execution is considered unlikely. Cory Fields reported it; 29.0 carries the fix.
Cluster mempool replaces the old design in Bitcoin Core 31.0: ancestor and descendant limits give way to clusters capped at 64 transactions and 101 kB, and the CPFP carveout is gone. Default -dbcache rises to 1024 MiB on machines with at least 4096 MiB of RAM, and a new -privatebroadcast option sends sendrawtransaction broadcasts only over Tor or I2P.
Two failures involving unnamed wallets get fixes in Bitcoin Core 28.4: legacy wallet migration (#34156) and createfromdump, whose failure path deleted the wallets directory (#34215). One DNS seed is also dropped from chainparams (#33723).
Bitcoin Core 29.3 stops punishing peers that send consensus-invalid transactions (#33050). Validation gains a per-input sighash midstate cache for legacy, P2SH and segwit v0 scripts (#32473) and spots witness stripping without re-running Script checks (#33105), while the miner's addPackageTxs loses an unsigned integer overflow (#33475).
A migration failure on unnamed legacy wallets is gone with Bitcoin Core 30.2 (#34156), and createfromdump no longer deletes the wallets directory when it fails on one (#34215). Pressing Ctrl-C no longer hangs during IPC wait calls (#33511).
Under rare conditions a failed wallet.dat migration in Bitcoin Core 30.0 or 30.1 can delete every file in the wallet directory, putting funds at risk. Developers pulled those binaries and ask users not to migrate through the GUI or RPC until 30.2. The bug needs a default, unnamed wallet.dat that fails to migrate or load; other users are unaffected.
Wallets on Bitcoin Core 30.1 stop considering unconfirmed TRUC coins that have ancestors (#33528). On the IPC side, options no longer require the -m argument (#33229), message logging costs less overhead (#33517) and running waitNext calls can be cancelled (#33676).
Crafted non-standard transactions could tie up a Bitcoin Core node for a few seconds each without getting the sender disconnected, giving an attacker a way to delay block propagation. CVE-2025-46598, rated Low, was reported by Antoine Poinsot and mitigated in v30.0 by cutting worst-case validation time.
Blocks over 1GB could overflow a size check on 32-bit Bitcoin Core nodes and crash them on the write to disk, but only as a compact block, and only against a victim running -maxmempool above 3GB with 1GB of transactions inside. Pieter Wuille found CVE-2025-46597, rated Low; capping -maxmempool on 32-bit systems closed it in 29.1 and 30.0.