آسیب پذیری ریشه قابل بهره برداری از راه دور در ابزار پینگ همراه با FreeBSD

در FreeBSD، یک آسیب پذیری (CVE-2022-23093) در ابزار پینگ موجود در توزیع اصلی شناسایی شده است. این مشکل به طور بالقوه می تواند منجر به اجرای کد از راه دور با امتیازات ریشه در هنگام پینگ کردن یک میزبان خارجی که توسط یک مهاجم کنترل می شود، شود. یک اصلاح در به روز رسانی FreeBSD 13.1-RELEASE-p5، 12.4-RC2-p2 و 12.3-RELEASE-p10 ارائه شده است. هنوز مشخص نیست که آیا سایر سیستم های BSD تحت تأثیر آسیب پذیری شناسایی شده قرار می گیرند یا خیر (هنوز گزارشی از آسیب پذیری در NetBSD، DragonFlyBSD و OpenBSD وجود ندارد).

این آسیب‌پذیری ناشی از سرریز بافر در کد تجزیه برای پیام‌های ICMP دریافت‌شده در پاسخ به درخواست تأیید است. کد ارسال و دریافت پیام های ICMP در پینگ از سوکت های خام استفاده می کند و با امتیازات بالا اجرا می شود (این ابزار با پرچم setuid root ارائه می شود). پاسخ در سمت پینگ از طریق بازسازی هدرهای IP و ICMP بسته های دریافتی از سوکت خام پردازش می شود. هدرهای IP و ICMP انتخاب شده توسط pr_pack() در بافرها کپی می شوند، بدون در نظر گرفتن اینکه هدرهای توسعه یافته اضافی ممکن است در بسته بعد از هدر IP وجود داشته باشد.

چنین هدرهایی از بسته استخراج می شوند و در بلوک هدر گنجانده می شوند، اما هنگام محاسبه اندازه بافر در نظر گرفته نمی شوند. اگر میزبان، در پاسخ به درخواست ICMP ارسال شده، بسته ای را با هدرهای اضافی برگرداند، محتویات آنها در ناحیه ای فراتر از مرز بافر در پشته نوشته می شود. در نتیجه، یک مهاجم می‌تواند تا 40 بایت از داده‌ها را روی پشته بازنویسی کند و به طور بالقوه اجازه اجرای کد خود را بدهد. شدت مشکل با این واقعیت کاهش می یابد که در زمان وقوع خطا، فرآیند در حالت ایزوله فراخوانی سیستم (حالت قابلیت) است که دسترسی به بقیه سیستم را پس از سوء استفاده از آسیب پذیری دشوار می کند. .

منبع: opennet.ru

اضافه کردن نظر