Specialbyggda icke-standardtransaktioner kunde binda upp en Bitcoin Core-nod i några sekunder styck utan att avsändaren kopplades bort, vilket gav en angripare ett sätt att fördröja blockspridningen. CVE-2025-46598, med låg allvarlighetsgrad, rapporterades av Antoine Poinsot och mildrades i v30.0 genom kortare validering i värsta fall.
Block över 1 GB kunde få en storlekskontroll att slå över på 32-bitars Bitcoin Core-noder och krascha dem vid skrivningen till disk, men bara som compact block och bara mot ett offer med -maxmempool över 3 GB och 1 GB transaktioner i mempoolen. Pieter Wuille hittade CVE-2025-46597, med låg allvarlighetsgrad; ett tak för -maxmempool på 32-bitarssystem stängde hålet i 29.1 och 30.0.
Standardvärdena för lägsta avgiftsnivå sjunker i Bitcoin Core 28.3: -blockmintxfee till 1 satoshi per kvB, -minrelaytxfee och -incrementalrelayfee till 100 satoshi per kvB. Plånböckernas avgiftsnivåer ligger kvar, och billigare transaktioner kanske inte sprids om inte de nya standardvärdena får fäste i nätverket. Whitelist-behörigheter gäller inte längre inkommande onion-anslutningar (#33395).
FillBlock får två P2P-fixar i Bitcoin Core 29.2: en kontroll av witness-mutation (#32646) och en kontroll av tom header före anropet (#33296). TRUC-kontroller tillämpas inte längre vid reorg (#33504), och getblock och getblockheader returnerar inte längre toppens target (#33446).
OP_RETURN-gränserna försvinner i praktiken i Bitcoin Core 30.0: -datacarriersize har 100 000 som standard och en transaktion får bära flera datautdata, men -datacarriersize=83 återställer det gamla taket. Standardavgiften för relä sjunker till 0,1 satoshi per vB, legacy-signaturoperationer begränsas till 2500 per standardtransaktion och ett nytt bitcoin-kommando samlar de befintliga programmen.
Ovillkorlig diskloggning i Bitcoin Core 29.1 begränsas till 1 MiB i timmen per källkodsplats (#32604), och standardtransaktioner får innehålla högst 2500 legacy-signaturoperationer som kan komma att köras. Standardavgiften för relä sjunker till 100 satoshi per kvB, medan 32-bitarsbyggen sätter tak på 500 MB för -maxmempool och 1 GiB för -dbcache.
Drygt hälften av ändringarna i Bitcoin Core 28.2 gäller byggsystemet. Guix notariserar nu macOS-appaketet och kodsignerar alla binärer för macOS och Windows (#31407), och depends får kompileringsfixar för libevent på NetBSD (#31500) och freetype under cmake (#32693).
Trettioen bidragsgivare till Bitcoin Core har undertecknat ett brev där de skriver att nodprogramvara inte bör vägra vidarebefordra transaktioner med ihållande ekonomisk efterfrågan som regelbundet hamnar i block, eftersom användare och miners kan ta sig runt sådana filter. De betonar att detta inte är ett stöd för icke-finansiell dataanvändning och att enbart användarna väljer programvara och policyer.
Flera års oavbruten addr-spam kunde få den 32-bitars identifieraren i Bitcoin Cores adresshanterare att slå över och krascha noden. Det är resten av en attack som först dämpades med hastighetsbegränsning i v22.0. Version 29.0 går över till en 64-bitars identifierare och stänger CVE-2024-52919, med låg allvarlighetsgrad. Eugene Siegel hittade felet och Martin Zumsande gjorde ändringen.
UPnP-stödet är borta ur Bitcoin Core 29.0, och -natpmp körs nu på en inbyggd PCP- och NAT-PMP-implementation i stället för libnatpmp. Ephemeral dust införs som ny policy, en fix av dubbelreserverad blockvikt tillför -blockreservedweight och noder ber nu alla peers som annonserat en orphan om dess saknade föräldrar. Versionerna 26.x och äldre når Maintenance End.
Med -port satt härleder Bitcoin Core 28.1 standardporten för onion-lyssning som den porten plus ett i stället för att låsa den vid 8334 på mainnet, så flera lokala noder kan återigen köras sida vid sida utan krock vid start. Manuella HiddenServicePort-rader i torrc kan behöva ändras. Hemlig data rensas dessutom i DecodeExtKey (#31166).
En peer som annonserar ett block och sedan drar ut på svaret kunde få en Bitcoin Core-nod att vänta i upp till 10 minuter innan den försökte på annat håll, och angripare kunde upprepa tricket. CVE-2024-52922, med medelhög allvarlighetsgrad och både rapporterad och åtgärdad av Greg Sanders, mildras i v25.1 och v26.0, som kan begära ett block direkt från upp till 3 compact block-peers med hög bandbredd.
Med version 27.2 av Bitcoin Core försvinner ett race condition i upptäckten av självanslutningar (#30394), och FillPSBT-anrop som felaktigt returnerade complete=true rättas (#30357). Tråden för blockinläsning och schemaläggaren stängs nu ner i annan ordning (#30435), och koden går att bygga med miniupnpc 2.2.8 och GCC 15.
Muterade block från en peer kunde radera nedladdningsstatusen för andra peers som annonserade samma block i Bitcoin Core före v25.0, så att noden glömde ett compact block som den fortfarande höll på att återskapa. Suhas Daftuar upptäckte problemet, och #27608 begränsar varje peer till sin egen status. CVE-2024-52921 har medelhög allvarlighetsgrad.
Noder med Bitcoin Core före v25.0 kunde kraschas på distans med ett upprepat blocktxn-meddelande för ett och samma block, vilket löste ut en assertion om att FillBlock bara körs en gång. Någon short-id-kollision behövdes inte: det räckte att ta med transaktioner som saknades i blockets merkle root. Niklas Gögge hittade och åtgärdade buggen CVE-2024-35202, som har hög allvarlighetsgrad.
En våg av nätverksaktivitet i början av maj 2023, förvärrad av spionnoder, gjorde block- och transaktionsspridningen långsammare när sorteringen av överstora inv-to-send-uppsättningar slukade nästan all tid i P2P-tråden. Problemet, med medelhög allvarlighetsgrad, åtgärdades i Bitcoin Core v25.0 med #27610, som rensar bort transaktioner som lämnat mempoolen tidigare och tömmer uppsättningarna snabbare när de växer.
Testnet4 (BIP94) kommer med Bitcoin Core 28.0, liksom begränsat package relay för par med en förälder och ett barn, TRUC-transaktioner som standard enligt BIP 431 och den nya utdatatypen Pay To Anchor. Standardvärdet för -mempoolfullrbf är nu 1, och libbitcoinconsensus är borta efter att ha fasats ut i 27.0.
Kedjor av headers med låg svårighet kunde krascha Bitcoin Core-noder på distans före v24.0.1, och en enda specialbyggd kedja gick att återanvända mot vilken nod som helst i nätverket. Fixen i #25717 gör att noden kontrollerar att en kedja har tillräckligt med arbete innan den lagras, och därmed behövs inte längre checkpoints mot kända attacker. Allvarlighetsgrad: hög.
Addr-spam kunde krascha en Bitcoin Core-nod: 2^32 insättningar i addrman fick en 32-bitars ID-räknare att slå över och löste ut en assertion. Eugene Siegel rapporterade 2021 buggen, som har hög allvarlighetsgrad, och v22.0 innehåller Pieter Wuilles fix.
Genom att utge sig för att vara en UPnP-enhet på det lokala nätverket kunde en angripare mata en Bitcoin Core-nod med uppblåsta M-SEARCH-svar tills minnet tog slut. Bara noder startade med -miniupnp var utsatta, eftersom biblioteket annars är avstängt som standard. Buggen har låg allvarlighetsgrad och åtgärdades i v22.0.