Fejl med høj sværhedsgrad i Bitcoin-software afsløret 2 år efter rettelsen

"Høj" sværhedsgrad bug i Bitcoin software afsløret 2 år efter fix - Bitcoin Core bugEn stor fejl i Bitcoin Core-softwaren, der ikke skal forveksles med Bitcoin-system, kunne have tilladt angribere at stjæle penge, forsinke aftaler eller opdele det større blockchain-netværk i modstridende versioner, hvis det ikke var blevet hemmeligt rettet for to år siden.

Fejlen i koden

En artikel, der blev offentliggjort onsdag af Braydon Fuller, en protokolingeniør på kryptohandelssiden Purse, og Javed Khan, en seniorudvikler af Handshake-protokollen, siger, at de opdagede sårbarheden i juni 2018.

Fejlen blev tildelt en sværhedsgrad på 7,8 på en skala fra 1 til 10, som betragtes som "høj" (9 og op betragtes som "kritisk"). Problemet skyldtes, at "fjernknudepunkter" ikke slettede ugyldige transaktioner fra deres hukommelse, sagde Khan.

Manglende annullering af sådanne transaktioner kan føre til et angreb, der indlæser offerknudepunktet med uaktuelle data i det, der kaldes "ukontrolleret ressourceforbrug", hvilket til sidst får noden til at lukke ned, hedder det i dokumentet.

Layer 2 (L2) -løsninger såsom Lightning Network, det eksperimentelle betalingssystem, der er bygget på Bitcoin blockchain, var i fare for denne fejl. De fulde knudepunkter for Bitcoin risikerede derimod ikke at miste penge.

Ingen forsøg på at udnytte problemet er afsløret, skrev Khan og Fuller. Sårbarheden er ikke blevet offentliggjort i over to år, da nodeoperatører tog længere tid end forventet at opdatere, sagde Fuller.

Selvom fejlen er rettet, fremhæver dens afsløring vanskelighederne med at opbygge en global monetær standard på menneskeskabte programmeringssprog, for ikke at nævne de høje tekniske barrierer i udviklingen af ​​den største kryptokurrency i verden.

Problemet i koden blev indsat i Bitcoin Core i november 2017. Omkring 50% af Bitcoin-noder på det tidspunkt var potentielt udsat for et angreb, ifølge dokumentet. Tidligere versioner af Bitcoin Core har ikke oplevet denne type problemer.

Ikke kun Bitcoin Core

Khan sagde, at sårbarheden kunne have gjort det muligt for en angriber at stjæle penge fra noder, der havde åbne kanaler på Lightning. Bitcoin Core versioner 0.16.0 og 0.16.1 blev analyseret og rettet af udvikleren Matt Corallo efter Fullers offentliggørelse til Core-teamet i juli 2018.

Bitcoin Core er referenceimplementeringen eller standardversionen af ​​netværkssoftware, som mange andre stammer fra. Ifølge dokumentet kunne fejlen også have involveret flere andre implementeringer af Bitcoin og dets derivater:

  • Bitcoin Knots v0.16.0
  • Alle betaversioner af Bcoin op til v1.0.0-pre
  • Alle versioner af Btcd op til v0.20.1-beta
  • Litecoin Core v0.16.0
  • Namecoin Core v0.16.1
  • Alle versioner af Dcrd op til v1.5.1.

Alle disse implementeringer er blevet patched.