آسیبپذیری Unchecked Call Return Value چیست؟

آسیبپذیری Unchecked Call Return Value چیست؟
آسیبپذیری Unchecked Call Return Value زمانی رخ میدهد که یک قرارداد، موفقیت یا شکست فراخوانیهای سطح پایین مانند call
، delegatecall
و staticcall
را بررسی نکند. نادیده گرفتن مقادیر بازگشتی این فراخوانیها میتواند منجر به خطاهای تشخیصدادهنشده شود و به مهاجمان یا اقدامات ناخواسته اجازه دهد بهطور پنهانی موفق شوند.
مقدار بازگشتی از یک فراخوانی پیام بررسی نمیشود. حتی اگر قرارداد فراخوانی شده یک استثنا ایجاد کند، اجرای برنامه ادامه خواهد یافت. اگر این فراخوانی به طور تصادفی شکست بخورد یا یک مهاجم مجبور کند که فراخوانی شکست بخورد، ممکن است منجر به رفتار غیرمنتظره در منطق برنامه بعدی شود.
آسیبپذیری Unchecked Call Return Value چه تاثیری دارد؟
فراخوانیهای خارجی بدون بررسی میتوانند منجر به شکست تراکنشها شوند، که باعث میشود عملیات مورد نظر به طور موفقیتآمیز تکمیل نشوند. این امر میتواند به از دست رفتن وجوه منجر شود، زیرا قرارداد ممکن است تحت فرض اشتباهی که انتقال موفقیتآمیز بوده است، ادامه یابد. علاوه بر این، میتواند وضعیت نادرست قرارداد ایجاد کند و قرارداد را در برابر حملات بیشتر و ناسازگاری در منطق آن آسیبپذیر سازد.
چه اقدامی باید انجام شود؟
اگر تصمیم دارید از متدهای فراخوانی سطح پایین استفاده کنید، حتماً امکان شکست این فراخوانی را با بررسی مقدار بازگشتی مدیریت کنید. اطمینان حاصل کنید که نتیجهی فراخوانیهای خارجی به درستی بررسی شده و در صورت شکست، اقدامات مناسبی انجام میشود تا از بروز رفتارهای غیرمنتظره و آسیبپذیریهای vulnerabilitis امنیتی جلوگیری شود.