آسیب پذیری دیگری در آپاچی httpd که امکان دسترسی به خارج از فهرست اصلی سایت را فراهم می کند

یک بردار حمله جدید برای سرور Apache http پیدا شده است که در به روز رسانی 2.4.50 تصحیح نشده باقی مانده و امکان دسترسی به فایل ها از مناطق خارج از دایرکتوری ریشه سایت را فراهم می کند. علاوه بر این، محققان روشی را پیدا کرده اند که در حضور برخی تنظیمات غیر استاندارد، نه تنها فایل های سیستم را می خوانند، بلکه می توانند کد آنها را از راه دور روی سرور اجرا کنند. مشکل فقط در نسخه های 2.4.49 و 2.4.50 ظاهر می شود؛ نسخه های قبلی تحت تأثیر قرار نمی گیرند. برای از بین بردن آسیب پذیری جدید، آپاچی httpd 2.4.51 به سرعت منتشر شد.

در هسته خود، مشکل جدید (CVE-2021-42013) کاملاً مشابه آسیب پذیری اصلی (CVE-2021-41773) در 2.4.49 است، تنها تفاوت رمزگذاری متفاوت کاراکترهای ".." است. به طور خاص، در نسخه 2.4.50 امکان استفاده از دنباله "%2e" برای رمزگذاری یک نقطه مسدود شد، اما امکان رمزگذاری دوگانه از دست رفت - هنگام تعیین دنباله "%%32%65"، سرور آن را رمزگشایی کرد. به «% 2e» و سپس به «.»، یعنی. کاراکترهای "../" برای رفتن به فهرست قبلی می توانند به صورت ".%%32%65/" کدگذاری شوند.

در مورد بهره برداری از آسیب پذیری از طریق اجرای کد، این امکان زمانی وجود دارد که mod_cgi فعال باشد و از مسیر پایه ای استفاده شود که در آن اجرای اسکریپت های CGI مجاز است (به عنوان مثال، اگر دستورالعمل ScriptAlias ​​فعال باشد یا پرچم ExecCGI در آن مشخص شده باشد. دستورالعمل گزینه ها). یک الزام اجباری برای یک حمله موفقیت آمیز، همچنین دسترسی صریح به دایرکتوری های دارای فایل های اجرایی، مانند /bin، یا دسترسی به ریشه سیستم فایل "/" در تنظیمات آپاچی است. از آنجایی که چنین دسترسی معمولاً اعطا نمی شود، حملات اجرای کد کاربرد کمی برای سیستم های واقعی دارند.

در همان زمان، حمله برای به دست آوردن محتویات فایل های سیستم دلخواه و متن های منبع اسکریپت های وب، قابل خواندن توسط کاربری که سرور http تحت آن در حال اجرا است، مرتبط باقی می ماند. برای انجام چنین حمله ای، کافی است یک دایرکتوری در سایت داشته باشید که با استفاده از دستورالعمل های "Alias" یا "ScriptAlias" پیکربندی شده است (DocumentRoot کافی نیست)، مانند "cgi-bin".

نمونه ای از یک اکسپلویت که به شما امکان می دهد ابزار "id" را در سرور اجرا کنید: curl 'http://192.168.0.1/cgi-bin/.%%32%65/.%%32%65/.%% 32%65/.%% 32%65/.%%32%65/bin/sh' —داده 'echo Content-Type: text/plain; پژواک id' uid=1(دمون) gid=1(دیمون) گروه ها=1(دمون)

نمونه ای از اکسپلویت ها که به شما امکان می دهد محتویات /etc/passwd و یکی از اسکریپت های وب را نمایش دهید (برای خروجی کد اسکریپت، دایرکتوری تعریف شده از طریق دایرکتیو "Alias" که اجرای اسکریپت برای آن فعال نیست، باید مشخص شود. به عنوان دایرکتوری پایه): curl 'http://192.168.0.1 .32/cgi-bin/.%%65%32/.%%65%32/.%%65%32/.%%65%32/.% %65%192.168.0.1/etc/passwd' curl 'http: //32/aliaseddir/.%%65%32/.%%65%32/.%%65%32/.%%65%32/. %%65%2/usr/local/apacheXNUMX/cgi -bin/test.cgi'

این مشکل عمدتاً بر توزیع‌های به‌روزرسانی شده پیوسته مانند فدورا، آرچ لینوکس و جنتو و همچنین پورت‌های FreeBSD تأثیر می‌گذارد. بسته‌های موجود در شاخه‌های پایدار توزیع‌های سرور محافظه‌کار Debian، RHEL، Ubuntu و SUSE تحت تأثیر این آسیب‌پذیری قرار نمی‌گیرند. اگر دسترسی به دایرکتوری ها با استفاده از تنظیمات "require all denied" به صراحت ممنوع شود، مشکل پیش نمی آید.

منبع: opennet.ru

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