Bitcoinjs-lib усунув два вади, які могли призводити до недооцінки комісій

iconCryptoSlate
Поділитися
AI summary iconКороткий зміст
Останні новини про bitcoin: Bitcoinjs-lib випустив виправлення для двох вразливостей, які можуть призводити до заниження комісій у додатках bitcoin. Ці недоліки, пов’язані з PSBT, можуть призводити до неправильного розрахунку комісій і фінансових втрат. Виправлення включені у версіях 5.2.2, 6.1.9 та 7.0.4, які забезпечують уніфіковані методи вирішення вихідних даних та розрахунку комісій. Новинні видання про bitcoin підкреслюють необхідність термінового оновлення вразливих додатків.

Bitcoinjs-lib, бібліотека програмного забезпечення для створення додатків Bitcoin, усунула дві помилки, які могли призводити до заниження комісій майнерів у дійсних транзакціях. У безпекових розголошеннях від 26 жовтня вказано виправлені версії 5.2.2, 6.1.9 та 7.0.4 для відповідних ліній релізів. Додатки піддаються ризику, коли вони імпортують пакети і покладаються на розрахунок комісій бібліотеки або захист від надмірної комісії, не перевіряючи вихідні дані, які витрачаються.

Недоліки стосуються частково підписаних транзакцій bitcoin (PSBT). BIP 174 визначає PSBT як формат для обміну деталями транзакцій та підписів між клієнтами. Підписання, комбінування підписів, фіналізація вхідних даних та витягування транзакції залишаються окремими операціями, навіть у межах однієї програми. Транзакція bitcoin сплачує комісію, що дорівнює загальній вартості вхідних даних мінус загальна вартість вихідних даних. Недооцінка вартості вхідних даних робить розраховану комісію меншою.

Перший недолік дозволяє підпису та обліку комісій призначати різні значення одному й тому ж вводу. Підпис залежить від повної попередньої транзакції, тоді як облік комісії надає перевагу конфліктуючому запису з нижчим значенням. Вразливе програмне забезпечення може, відповідно, авторизувати фактичну транзакцію, оцінюючи неправильну комісію. У повідомленні наведено демонстрацію bitcoinjs-lib 7.0.1 з фактичною комісією 900 000 000 сатоші та заявленою комісією 200 сатоші. Демонстрація створила перевірений підпис і дозволила вилучення без спрацьовування попередження про стандартну ставку комісії.

Друга рекомендація описує фіналізовані вхідні дані, які не мають записів про значення вводу. Калькулятор комісії вважає ці входи маючими нульове значення. Застосунок може імпортувати вже підписаний PSBT від іншої сторони і досягти цього розрахунку без повторного підпису. Друга рекомендація наводить гіпотетичну транзакцію з фактичною комісією 91 000 сатоші та заявленою комісією 1 000 сатоші. Фіналізовані скрипти та підписи самі по собі не встановлюють значення вводу, якщо записи про його значення відсутні.

Вразливість, пов’язана з конфліктом записів, стосується версій 5.2.0–5.2.1, версій 6.0.0–6.1.8, включно з 6.1.0-rc.0, та версій 7.0.0-rc.0–7.0.3. Вразливість, пов’язана з відсутністю запису, стосується тих самих релізів версій 6 і 7, а також версій 5.1.0–5.2.1. Фінансова втрата вимагає передачі авторизованої, дійсної транзакції в мережу та її прийняття. Ці помилки не можуть генерувати підписи, а надлишкова сума переходить майнерам у вигляді комісії.

Виправлення дозволяють підпису та обліку використовувати один метод для вирішення попередніх вихідних даних. Виправлення відхиляють суперечливі значення або скрипти та вимагають наявності значення для кожного входу під час розрахунку комісій. Виправлення також недійснюють кешовані комісії та витягнуті транзакції після змін у відповідних метаданих або їх комбінацій. Адміністратори повинні перевірити версії залежностей та оцінити валідацію імпортованих PSBT. Адміністратори, які не можуть оновити систему, повинні незалежно підтвердити значення посиланих вихідних даних. Адміністратори повинні відхиляти суперечливі записи до підписання або опори на розраховані комісії. Адміністратори повинні перевірити значення кожного входу до опори на комісії або витягування транзакції.

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