Ранее нераскрытая уязвимость в коде Bitcoin Core, которая была устранена два года назад, потенциально позволяла злоумышленникам похищать средства, задерживать транзакции или разделить блокчейн на конфликтующие версии. Об этом говорится в статье, опубликованной в среду, 9 сентября, разработчиками Брейдоном Фуллером и Джаведом Ханом, которые обнаружили уязвимость в июне 2018 года.
Уязвимости был присвоен «высокий» уровень (7.8 по шкале от 1 до 10; 9 и выше считается «критическим»). В комментарии для Coindesk Хан сказал, что уязвимость связана с неспособностью «удаленных нод» удалять недействительные транзакции из памяти. «Не было механизма, чтобы удостовериться в действительности ожидающей обработки транзакции. В некоторых случаях вы могли заполнить память недействительными транзакциями», ― сказал Хан.
Хан и Фуллер не обнаружили никаких попыток воспользоваться этой уязвимостью. По словам Фуллера, она не могла быть раскрыта публично более двух лет из-за долгого обновления нод.
Уязвимость появилась в ноябрьском релизе Bitcoin Core 2017 года. Согласно статье, около 50% нод биткоина в то время могли быть атакованы. Уязвимость была устранена Мэттом Коралло в версиях Bitcoin Core 0.16.0 и 0.16.1 после того, как Фуллер сообщил о ней команде основных разработчиков биткоина в июле 2018 года. После сообщения Фуллера был обнаружен еще один баг, который был устранен двумя месяцами позже в Bitcoin Core 0.16.3. По словам Хана, уязвимость позволяла злоумышленнику похищать средства с нод, которые имели открытые каналы в Lightning Network.
[…] Источник: coinspot.io Метки: #Bitcoin#Bitcoin Core#LiteCoin#Namecoin#блокчейн Share76Tweet47 […]
[…] Источник: coinspot.io Метки: #Bitcoin#Bitcoin Core#LiteCoin#Namecoin#блокчейн Share76Tweet47 […]
[…] Источник: coinspot.ioМетки: #Bitcoin#Bitcoin Core#LiteCoin#Namecoin#блокчейн Share76Tweet47 (function(w, d, n, s, t) { w[n] = w[n] || []; w[n].push(function() { Ya.Context.AdvManager.render({ blockId: "R-A-520732-6", renderTo: "yandex_rtb_R-A-520732-6", async: true }); }); t = d.getElementsByTagName("script")[0]; s = d.createElement("script"); s.type = "text/javascript"; s.src = "//an.yandex.ru/system/context.js"; s.async = true; t.parentNode.insertBefore(s, t); })(this, this.document, "yandexContextAsyncCallbacks"); […]
[…] Источник: coinspot.io […]