یک آسیبپذیری بحرانی با شناسه CVE-2023-34062 و شدت 7.5 در directory traversal شناسایی شده است که به سرور HTTP Reactor Netty، (بخش محبوبی از چارچوب Reactor Netty) مربوط میشود. این آسیبپذیری ممکن است به مهاجم اجازه دسترسی غیرمجاز به فایلهای حساس را بدهد و منشأ آن به وجود یک نقص در پیادهسازی سرور HTTP Reactor Netty بازمیگردد که به مهاجم اجازه میدهد تا با تغییر URL بتواند محدودیتهای امنیتی را دور زده و سیستم فایلِ سیستم آسیبپذیر را مدیریت کند. مهاجم با طراحی URLهای خاص، میتواند به فایلهای حساس، از جمله فایلهای پیکربندی و دادههای حساس دسترسی پیدا کرده و کد دلخواه خود را اجرا کند.
محصولات تحت تأثیر
آسیبپذیری مذکور بر نسخههای 1.1.x تا 1.1.13 و نسخههای 1.0.x تا 1.0.39 از سرور HTTP Reactor Netty تأثیر میگذارد. همچنین، هر برنامهای که از سرور HTTP Reactor Netty برای ارائه منابع ایستا استفاده میکند، به احتمال زیاد آسیبپذیر میباشد.
توصیههای امنیتی
1. نخستین و مهمترین اقدام، ارتقاء به نسخههای بهروزرسانیشدهی Reactor Netty HTTP Server میباشد. کاربران نسخههای 1.1.x باید به نسخه 1.1.13 و کاربران نسخههای 1.0.x باید به نسخه 1.0.39 ارتقاء دهند.
2. تنظیمات فایروال میتواند کمک کند تا دسترسی به URLهای خاصی که از آسیبپذیری بهرهبرداری میکنند، محدود شود. فایروال را بهروز کرده و تنظیمات امنیتی آن را بررسی کنید.
3. از الگوها و رویههای امنیتی در برنامهها و سیستمهای خود استفاده کنید تا از حملات مشابه پیشگیری شود. این امر ممکن است شامل استفاده از تابعهای امن جهت پردازش URL و مسیرها باشد.
استفاده از توابع امن جهت پردازش URL و مسیرها به معنای استفاده از توابع و روشهایی است که اطمینان حاصل میکنند که دادههای ورودی بهدرستی پردازش میشوند و از آسیبپذیریهای مربوط به حملات نظیر تزریق کد (Injection Attacks) جلوگیری میشود. در زبان برنامهنویسی Python، کتابخانه `urllib` ابزارهای مفیدی جهت پردازش URL ارائه میدهد و برای جلوگیری از حملاتی نظیر حمله فوق، میتوان از توابعی مانند `quote` در پاکسازی و ایمنسازی URL استفاده کرد.
4. اطمینان حاصل کنید که سرویسها و فرآیندهای Reactor Netty HTTP Server با حداقل دسترسی لازم اجرا میشوند. این مجوزها باید بهگونهای تعریف شوند که دسترسی به فایلها و منابع حساس محدود شود.
5. اجرای ارزیابیهای امنیتی بر روی نرمافزار و سرویسهای مرتبط میتواند کمک کند تا آسیبپذیریهای احتمالی شناسایی شده و اقدامات اصلاحی قبل از وقوع حمله صورت پذیرد.
منبع خبر:
[1] https://spring.io/security/cve-2023-34062