توسعهدهندگان بیتکوین کور (Bitcoin Core) یک باگ امنیتی با شدت بالا را افشا کردند که میتوانست به ماینرها اجازه دهد برخی از نودهای بیتکوین را از راه دور از کار بیندازند (Crash).
نکات کلیدی:
- بیتکوین کور آسیبپذیری CVE-2024-52911 را که نسخههای پیش از 29/0 را تحت تأثیر قرار میدهد، افشا کرد؛ این در حالی است که نودهای قدیمیتر همچنان در شبکه آنلاین و در معرض خطر هستند.
- ماینرها برای ایجاد این اختلال به تولید بلاکهای پرهزینه اثبات کار (Proof-of-Work) نیاز داشتند که همین امر، سوءاستفاده در دنیای واقعی را برای مهاجمان از نظر تاریخی بعید میساخت.
- کوری فیلدز (Cory Fields) این باگ را در سال 2024 (پیش از عرضه نسخه اصلاحشده 29/0 بیتکوین کور) بهطور خصوصی گزارش کرده بود.
این مشکل که با شناسه CVE-2024-52911 ردیابی میشود، نسخههای پس از 0/14/0 و پیش از 29/0 بیتکوین کور را تحت تأثیر قرار داده بود. این باگ در نسخه 29/0 نرمافزار بیتکوین کور که در آوریل 2025 منتشر شد، برطرف گردید.
بیتکوین کور این مشکل را در 5 مه 2026، پس از آنکه آخرین خط انتشارِ آسیبپذیر (سری نسخههای 28) در 19 آوریل به پایان چرخه عمر خود رسید، بهطور عمومی فاش کرد.
شکاف در مفسر اسکریپت؛ واکاوی نقص مدیریت حافظه در فرآیند اعتبارسنجی
این مشکل، مفسر اسکریپت (Script Interpreter) بیتکوین کور را در طول فرآیند اعتبارسنجی بلاک درگیر میکرد. بیتکوین کور اعلام کرد که یک بلاک دستکاریشدهی خاص میتواند باعث شود یک نود پس از آزادسازیِ دادهها، مجدداً به حافظه دسترسی پیدا کند.
در طول فرآیند اعتبارسنجی، بیتکوین کور دادههای ورودی تراکنش را از پیش محاسبه کرده و بررسیهای اسکریپت را به رشتههای پسزمینه (Background Threads) ارسال میکند. در برخی موارد، یک بلاک نامعتبر میتوانست دادههای کششده (Cached) را از بین ببرد، در حالی که یک رشته اجراییِ دیگر همچنان در تلاش برای خواندن آن دادهها بود.
بیتکوین کور اعلام کرد که این نقص میتواند به مهاجمی با قدرت اثبات کارِ کافی اجازه دهد تا نودهای قربانی را از کار بیندازد. همچنین گفته شد که «این احتمال وجود دارد» که این اختلال بتواند از اجرای کدهای مخرب از راه دور (Remote Code Execution) پشتیبانی کند، اگرچه محدودیتهای مربوط به ساختار دادههای بلاک، وقوع چنین پیامد فاجعهباری را بسیار «بعید» میسازد.
سد اقتصادی در برابر نفوذ؛ تقابل هزینه استخراج و حملات مخرب
اجرای این حمله کار سادهای نبود. یک ماینر باید یک بلاکِ دستکاریشدهی خاص را با اثبات کارِ کافی تولید میکرد تا بتواند به نوکِ زنجیره (Chain Tip) برسد.
این موضوع، حمله را به شدت پرهزینه میکرد؛ زیرا چنین بلاکی نامعتبر شناخته میشد و نمیتوانست پاداش معمولِ استخراج بلاک را دریافت کند. در نتیجه، مهاجم مجبور بود بدون دریافتِ هیچگونه پرداختیِ استخراج، قدرت هش (Hashpower) ارزشمند خود را هدر دهد.
بیتکوین کور نگفت که از این باگ در حملات واقعی استفاده شده است یا خیر. این توصیه امنیتی تنها بر روی ماهیت نقص، وصله اصلاحی و جدول زمانیِ افشای آن تمرکز داشت. باید توجه داشت که این باگ قوانین اجماع (Consensus Rules) بیتکوین را تغییر نداد، بلکه صرفاً به مدیریت حافظه در نرمافزار بیتکوین کور مرتبط بود، نه قوانینی که تراکنشها یا بلاکهای معتبر بیتکوین را تعریف میکنند.
گاهشمار افشای مسئولانه؛ از گزارش خصوصی فیلدز تا اصلاحیه پنهان وویله
کوری فیلدز از طرح ارز دیجیتال مؤسسه فناوری ماساچوست (MIT)، این باگ را بهطور خصوصی در 2 نوامبر 2024 گزارش کرد. بیتکوین کور اعلام کرد که این گزارش شامل یک اثبات مفهوم (Proof of Concept) و یک راهکار پیشنهادی برای کاهش این خطر بوده است.
پیتر وویله (Pieter Wuille) 4 روز بعد از طریق درخواست تغییراتِ (Pull Request) شماره 31112 یک اصلاحیه پنهان را برای رفع مشکل ارسال کرد. این درخواست در 3 دسامبر 2024 در کدهای اصلی ادغام شد؛ یعنی پیش از آنکه نسخه 29/0 بیتکوین کور به همراه این وصله امنیتی در آوریل 2025 عرضه شود.
این اطلاعیه امنیتی دقیقاً از سیاست افشای بیتکوین کور برای باگهای با شدت بالا پیروی میکرد. این سیاست میگوید که مشکلات با شدت بالا، تنها پس از پایان یافتنِ چرخه عمرِ آخرین نسخهِ تحتتأثیر، بهطور عمومی فاش میشوند. با این وجود، اپراتورهای نود که از نسخههای پیش از 29/0 بیتکوین کور استفاده میکنند، همچنان در برابر این باگ قدیمی آسیبپذیر هستند.
از آنجا که بیتکوین کور بهطور خودکار بهروزرسانی نمیشود، کاربران باید نسخههای جدیدتر را بهصورت دستی نصب کنند. یک گزارش قدیمی در خصوص خطرات تمرکززدایی بلاکچین به تحقیقی اشاره داشت که نشان میداد در ژوئن 2021، 21 درصد از نودهای بیتکوین نرمافزار منسوخشده بیتکوین کور را اجرا میکردند؛ این آمار به خوبی نشان میدهد که چرا نسخههای قدیمیِ کلاینت میتوانند مدتها پس از انتشار اصلاحیهها، همچنان یک نگرانی امنیتی بزرگ باقی بمانند.
تحلیل و چشمانداز
کشف و افشای برنامهریزیشدهی این آسیبپذیری، نمایشی کلاسیک از استحکامِ رویههای امنیتی و سیاست «افشای مسئولانه» (Responsible Disclosure) در اکوسیستم توسعهدهندگان شبکه بیتکوین است که نشان میدهد چگونه امنیت این بلاکچین با مفاهیم «تئوری بازیها» (Game Theory) گره خورده است.
با وجود اینکه این باگ پتانسیل از کار انداختن نودهای شبکه را داشت، اما بهرهبرداری از آن نیازمند 1 فداکاری اقتصادی عظیم (سوزاندن قدرت پردازشی برای تولید بلاکی نامعتبر و چشمپوشی از پاداشهای مالیِ ماینینگ) بود که همین اصطکاک و هزینه سنگین اقتصادی، عملاً ماینرها و مهاجمان را از انجام حملات مخرب منصرف میکند و ثابت مینماید که ساختار انگیزشی بینقص بیتکوین، حتی نقصهای لایه نرمافزاری را نیز خنثی میسازد. با این حال، حقیقت تلخ این است که درصد قابلتوجهی از نودها به دلیل عدم بهروزرسانی دستیکاربران، همچنان از نسخههای منسوخشده استفاده میکنند که این موضوع 1 ریسک پنهان اما جدی برای سلامت شبکه به شمار میرود؛
بنابراین این رویداد باید به عنوان 1 زنگ بیدارباش برای تمامی اپراتورهای نود و مؤسسات نگهداری دارایی عمل کند تا اهمیت حیاتی بهروزرسانیهای مداوم را جدی بگیرند، زیرا بقا، امنیت و تمرکززداییِ واقعی شبکه بیتکوین نهتنها به کدهای رمزنگاریشده، بلکه به هوشیاری مداوم جامعه کاربری و نگهداری مستمر زیرساختهای آن توسط نودها بستگی دارد.