Bitcoin Core виправив три вади, включаючи аварійне завершення роботи ноди, що працює не під Linux

iconThe Defiant
Поділитися
AI summary iconКороткий зміст
Bitcoin Core виправив три вади 28 жовтня, що вплинули на стабільність повних нод. Одна з вад дозволяє атакуючим зупинити повні ноди, що працюють не під Linux, надсилаючи спеціально створений трафік. Дві проблеми з пам’яттю та одна вада даних блокчейну були виправлені у версіях 29.5, 30.4, 31.2 та 32.1. Вразливість, що призводить до зупинки нод, що працюють не під Linux, може порушити децентралізацію нод через вичерпання пам’яті. Виправлення стосуються систем з 64-бітною архітектурою, але користувачі 32-бітних систем та FAT32 залишаються вразливими. Проект вдячний AI-скануванню від Project Loupe компанії Spiral за виявлення цих проблем.

Bitcoin Core розкрила три вразливості 28 жовтня і випустила виправлення у версіях 29.5, 30.4, 31.2 та 32.1, включаючи недолік, який дозволяє зловмисному піру зупинити ноди Windows, macOS і BSD.

Програмне забезпечення Bitcoin Core дозволяє операторам самостійно перевіряти блокчейн Bitcoin і включає гаманець. Проект класифікує дві вразливості, пов’язані з зростанням використання пам’яті, як середньої важливості, а третю, пов’язану зі збереженими даними блокчейну, — як низької важливості. У трьох попередженнях не зазначено, чи спостерігалися випадки експлуатації.

Для операторів на гілках 29.x, 30.x і 31.x виправлені точкові випуски — 29.5, 30.4 і 31.2 відповідно. Версія 32.1 є найновішим випуском. Операторам, які використовують попередні точкові випуски цих гілок, слід оновитися.

Вразливість, що призводить до аварійного завершення роботи у не-Linux дозволяє підключеному зловмиснику надсилати спеціально позначену мережеву трафік, відому як TCP-термінові дані, щоб обійти обмеження на кількість вхідних даних, які нода чергає для обробки. Черга може зростати без обмежень, поки нода не вичерпає пам’ять. Linux не піддається цій конкретній вразливості, оскільки використовує інший механізм для моніторингу мережевих з’єднань.

Друга помилка зростання пам’яті дозволяє зловмисному піру імітувати використання старого протоколу, який не має сучасних повідомлень ping, уникнувши таймауту, який зазвичай від’єднує його. Завдяки затримці читання пір може змусити ноду продовжувати чергувати оголошення. Використання пам’яті може зростати до 2 МБ на годину на кожен вхідний пір або 5 МБ на годину на кожен вихідний пір. Ноди, налаштовані на передачу лише блоків, страждають значно менше.

Ризик окремого зберігання залишається

Третя вразливість стосується файлів «undo», які зберігають інформацію, необхідну для відміни блоків під час переорганізації блокчейну. Майнер може змусити ці файли перевищити ліміти розміру, що призведе до пошкодження даних або вимкнення вразливих нод. Bitcoin Core вважає експлуатацію непрактичною: на 64-бітних системах для підготовки потрібно здобыти кілька тисяч спеціально створених блоків, а також виконати додаткові точні умови для атаки, заснованої на переорганізації.

Виправлення усувають цей недолік на 64-бітних системах, включаючи Windows, але 32-бітні системи та ноди, які зберігають блоки на файловій системі FAT32, залишаються вразливими. Якщо дані для відкоту вже пошкоджені, перезапуск недостатній; відновлення вимагає перебудови індексу блокчейну за допомогою виправленої версії.

Рекомендації відносять виявлення всіх трьох проблем до автоматизованого сканування штучним інтелектом проекту Loupe від Spiral, при цьому Грегорі Сандерс підтвердив результати та повідомив про них у Bitcoin Core. Проект класифікував усі три як «легко виявляні». Його політика розкриття інформації передбачає публікацію виправлень у всіх підтримуваних гілках та попередження без звичайного періоду нерозголошення для цієї категорії.

Щоб оновити, операторам слід повністю вимкнути Bitcoin Core перед встановленням або заміною програмного забезпечення, згідно з інструкціями випуску. У цих зауваженнях також зазначено, що версії 29.x і старші досягли кінця життєвого циклу і більше не отримуватимуть оновлень.

Відмова від відповідальності: Інформація на цій сторінці може бути отримана від третіх осіб і не обов'язково відображає погляди або думки KuCoin. Цей контент надається лише для загального інформування, без будь-яких запевнень або гарантій, а також не може розглядатися як фінансова або інвестиційна порада. KuCoin не несе відповідальності за будь-які помилки або упущення, а також за будь-які результати, отримані в результаті використання цієї інформації. Інвестиції в цифрові активи можуть бути ризикованими. Будь ласка, ретельно оцініть ризики продукту та свою толерантність до ризику, виходячи з ваших власних фінансових обставин. Для отримання додаткової інформації, будь ласка, зверніться до наших Умов використання та Розкриття інформації про ризики.