ردیفهای نادرست ترتیب داده شده باعث شد قبل از صفر شدن مقدار، فاکتور و پاداش کاربر، بررسی پرداخت بدهی انجام شود.
طبق گزارش کالبد شکافی Omniscia بازرس Platypus، حمله وام سریع 8 میلیون دلاری Platypus به دلیل کد در ترتیب اشتباه امکان پذیر بود. شرکت حسابرسی مدعی است کد مشکل در نسخه ای که می بیند نیست.
در پرتو روزهای اخیر @Platypusdefi حادثه، تیم https://t.co/30PzcoIJnt یک تجزیه و تحلیل فنی پس از مرگ تهیه کرده است که با جزئیات کامل چگونگی حل این سوء استفاده را توضیح می دهد.
حتما دنبال کنید @Omniscia_sec برای دریافت بهروزرسانیهای امنیتی بیشتر!https://t.co/cf784QtKPK pic.twitter.com/egHyoYaBhn
– Omniscia (@Omniscia_sec) 17 فوریه 2023
بر اساس این گزارش، قرارداد Platypus MasterPlatypusV4 “حاوی یک سوء تفاهم مرگبار در مکانیسم برداشت اضطراری” بود که باعث شد “قبل از بهروزرسانی توکنهای LP مرتبط با موقعیت سهام، یک بررسی حلپذیری انجام دهد”.
این گزارش تاکید می کند که کد عملکرد اضطراری Retract دارای تمام عناصر لازم برای جلوگیری از حمله است، اما این عناصر به ترتیب اشتباه نوشته شده اند، همانطور که Omniscia توضیح داد:
میتوان با مرتب کردن مجدد بیانیههای MasterPlatypusV4::emergencyWithdraw و انجام بررسی پرداخت بدهی که از وقوع حمله پس از تنظیم مقدار ورودی کاربر روی 0 جلوگیری میکند، از این مشکل جلوگیری کرد.
Omnisia اعتراف کرد که آنها بر نسخه ای از قرارداد MasterPlatypusV4 از 21 نوامبر تا 5 دسامبر 2021 نظارت داشتند. با این حال، این نسخه “هیچ نقطه ادغام با سیستم خارجی platypusTreasure” ندارد و بنابراین شامل خطوط کد نامرتب نمی شود. از دیدگاه Omniscia، این بدان معناست که توسعه دهندگان باید نسخه جدیدی از قرارداد را در مقطعی پس از انجام ممیزی اجرا کرده باشند.
مرتبط با: Raydium جزئیات هک را فاش می کند و به قربانیان غرامت ارائه می دهد
حسابرس ادعا می کند که بهره برداری، اجرای قرارداد در زنجیره C Avalanche (AVAX) در 0xc007f27b757a782c833c568f5851ae1dfe0e6ec7 است. خطوط 582-584 این قرارداد تابعی به نام “isSolvent” را در قرارداد PlatypusTreasure فراخوانی می کنند و خطوط 599-601 به نظر می رسد مقدار، فاکتور و پاداش واریزی کاربر را صفر می کند. با این حال، این مقادیر پس از فراخوانی تابع “isSolvent” روی صفر تنظیم می شوند.

تیم پلاتیپوس تایید شده در 16 فوریه، مهاجم از یک “نقص” استفاده کرد. [the] مکانیسم بررسی پرداخت بدهی USP”، اما تیم در ابتدا جزئیات بیشتری را ارائه نکرد. این گزارش جدید از حسابرس، چگونگی سوء استفاده مهاجم از این آسیبپذیری را روشن میکند.
تیم Platypus اعلام کرد که این حمله در 16 فوریه رخ داده است. او سعی کرد با هکر تماس بگیرد و پول را در ازای پاداش باگ برگرداند. مهاجم از وام های فلش برای پر کردن شکاف استفاده کرد، مشابه استراتژی مورد استفاده در اکسپلویت Defrost Finance در 25 دسامبر.
نویسنده: Tom Blackstone