Stor alvorlighetsgrad i Bitcoin-programvare avslørt to år etter reparasjonen

"Høy" alvorlighetsgrad i Bitcoin-programvare avslørt to år etter reparasjon - Bitcoin Core bugEn stor feil i Bitcoin Core-programvaren, ikke å forveksle med Bitcoin-systemet, kunne ha tillatt angripere å stjele midler, utsette avtaler eller dele det større blockchain-nettverket i motstridende versjoner hadde det ikke blitt løst i hemmelighet for to år siden.

Feilen i koden

En artikkel publisert onsdag av Braydon Fuller, en protokollingeniør ved kryptohandelssiden Purse, og Javed Khan, en seniorutvikler av Handshake-protokollen, sier at de oppdaget sårbarheten i juni 2018.

Feilen ble tildelt en alvorlighetsgrad på 7,8 på en skala fra 1 til 10, som regnes som "høy" (9 og oppover regnes som "kritisk"). Problemet var forårsaket av at "eksterne noder" ikke klarte å fjerne ugyldige transaksjoner fra minnet, sa Khan.

Unnlatelse av å kansellere slike transaksjoner kan føre til et angrep som laster offernoden med uaktuelle data i det som blir referert til som "ukontrollert ressursforbruk", og til slutt får noden til å stenge, heter det i dokumentet.

Layer 2 (L2) -løsninger som Lightning Network, det eksperimentelle betalingssystemet bygget på Bitcoin blockchain, var i fare fra denne feilen. De fulle nodene til Bitcoin, derimot, risikerte ikke å tape penger.

Ingen forsøk på å utnytte problemet er avslørt, skrev Khan og Fuller. Sårbarheten har ikke blitt offentliggjort i over to år, da det tok lenger tid enn forventet å oppdatere nodeoperatører, sa Fuller.

Selv om feilen er løst, fremhever avsløringen vanskeligheter med å bygge en global monetær standard på menneskeskapte programmeringsspråk, for ikke å nevne de høye tekniske hindringene for å utvikle den største kryptovalutaen i verden.

Problemet i koden ble satt inn i Bitcoin Core i november 2017. Rundt 50% av Bitcoin-noder den gangen var potensielt utsatt for et angrep, ifølge dokumentet. Tidligere versjoner av Bitcoin Core har ikke opplevd denne typen problemer.

Ikke bare Bitcoin Core

Khan sa at sårbarheten kunne ha tillatt en angriper å stjele midler fra noder som hadde åpne kanaler på lyn. Bitcoin Core-versjoner 0.16.0 og 0.16.1 ble analysert og korrigert av utvikleren Matt Corallo etter Fullers offentliggjøring til Core-teamet i juli 2018.

Bitcoin Core er referanseimplementering, eller standardversjon, av nettverksprogramvare som mange andre kommer fra. I følge dokumentet kunne feilen også ha involvert flere andre implementeringer av Bitcoin og dets derivater:

  • Bitcoin Knots v0.16.0
  • Alle betaversjoner av Bcoin opp til v1.0.0-pre
  • Alle versjoner av Btcd opp til v0.20.1-beta
  • Litecoin Core v0.16.0
  • Namecoin Core v0.16.1
  • Alle versjoner av Dcrd opp til v1.5.1.

Alle disse implementeringene er lappet.