Ontwikkelaars van Bitcoin Core hebben vandaag een ernstige beveiligingskwetsbaarheid bekendgemaakt die miners in staat stelt om nodes van andere gebruikers te laten crashen en mogelijk schadelijke code uit te voeren. Het lek, aangeduid als CVE-2024-52911, treft Bitcoin Core-versies van 0.14.1 tot en met 28.4.
De fout is ontdekt en verantwoordelijk gemeld door ontwikkelaar Cory Fields, die samen met het team een oplossing heeft geïmplementeerd via Pull Request 31112. Hoewel de kwetsbaarheid theoretisch misbruikt had kunnen worden, blijft de kans daarop gering door de hoge kosten van een dergelijke aanval.
Hoe werkt de aanval?
Een miner die een speciaal vervaardigd blok met voldoende proof-of-work produceert, kan nodes van slachtoffers laten crashen. In sommige gevallen zou deze crash gebruikt kunnen worden om de controle over de geheugenruimte van de node over te nemen en zo schadelijke code op afstand uit te voeren. Bitcoin Core bevestigt dat remote code execution mogelijk is, maar meldt dat er geen concrete gevallen bekend zijn.
De aanval vereist dat een miner aanzienlijke rekenkracht inzet om zogenaamde invalid blocks te minen. Deze blokken leveren geen beloning op via de coinbase-transactie, waardoor de kosten van de aanval niet terugverdiend kunnen worden. Hierdoor is de drempel voor misbruik aanzienlijk verhoogd.
Gebruik-na-vrijgave fout in scriptvalidatie
De kwetsbaarheid is een zogenaamde use-after-free-fout in de scriptvalidatie-engine van Bitcoin Core. Tijdens de validatie van blokken berekent de software vooraf transactie-informatie en slaat deze op in het cachegeheugen. Deze data wordt vervolgens door achtergrondthreads verwerkt om de scripts te valideren.
Bij een aanval op basis van CVE-2024-52911 blijft de node echter lezen uit het cachegeheugen nadat deze data al door een ander proces is vrijgegeven. Dit kan leiden tot een abnormale geheugenstatus, waarbij remote code execution mogelijk wordt. Met name wanneer een achtergrondthread scriptgegevens uitleest die net zijn vernietigd door de validatieprocedure CScriptCheck, ontstaat er een risico.
Veel nodes nog kwetsbaar
Bitcoin Core benadrukt dat het updaten van een full node vrijwillig is en niet automatisch gebeurt. Volgens schattingen loopt nog steeds een aanzienlijk deel van het netwerk risico, omdat deze nodes draaien op verouderde versies van Bitcoin Core. Zo zou tot 43% van de Bitcoin-nodes nog steeds kwetsbare software draaien die gebaseerd is op versies vóór v29.
"We hebben de afgelopen twee jaar regelmatig beveiligingsadviezen voor Bitcoin Core gepubliceerd, maar dit is de eerste keer dat we een geheugenbeveiligingsprobleem bekendmaken: een use-after-free in de validatie-engine."
— Niklas Gögge (@dergoegge), 5 mei 2026
Verantwoorde openbaarmaking in 2024
De fout werd al in november 2024 ontdekt door Cory Fields, die het lek direct en verantwoordelijk meldde aan het Bitcoin Core-team. Slechts vier dagen later diende Pieter Wuille een oplossing in via Pull Request 31112, getiteld "Improve parallel script validation error debug logging". De oplossing werd gepresenteerd als een routinematige onderhoudsupdate, om de kwetsbaarheid niet onnodig onder de aandacht te brengen.