بررسی دو آسیب پذیری CVE-2022-29072 و CVE-2022-1329

تو این پست به بررسی دو تا آسیب پذیری پرداختیم که یکیش در وردپرس با شناسه CVE-2022-1329 هستش که منجر به اجرای کد میشه و یکی هم آسیب پذیری با شناسه CVE-2022-29072 که در 7zip که منجر به افزایش سطح دسترسی و اجرای کد میشه.

آسیب پذیری با شناسه CVE-2022-29072

این آسیب پذیری که بحرانی رتبه بندی شده در برنامه فشرده سازی محبوب 7zip شناسایی شده و تا نسخه 21.7 رو در ویندوز تحت تاثیر قرار میده. این آسیب پذیری منجر به افزایش امتیاز و همچنین اجرای کد توسط مهاجمین میشه.

افزایش امتیاز و اجرای کد با درگ کردن یک فایل با فرمت .7z به قسمت Help>Contents برنامه 7zip انجام میشه. آسیب پذیری از نوع Heap overflow و به دلیل پیکربندی بد در 7z.dll هستش. وقتی برنامه 7zip نصب میکنید بخش help برنامه که در Help>Contents هستش از طریق فایل (hh.exe)Windows HTML Helper اجرا میشه اما بعد تزریق کد از طریق 7zFM.exe اجرا میشه

آسیب پذیری هم گویا با فاز کردن برنامه 7zip با فازر معروف WINAFL بدست اومده.

با گزارش آسیب پذیری به 7zip ، اونا گفتن که مشکل از 7zip نیست و مشکل از hh.exe مایکروسافت هستش.اما چون بعد تزریق کد ، cmd جدید زیر پروسس 7zFM.exe ایجاد میشه نه hh.exe برای همین این آسیب پذیری رو به 7zip اختصاص دادن .

فایل hh.exe یک برنامه هستش که راهنماهایی که تو برنامه های دیگه و با پسوند .chm هستش رو اجرا میکنه اما طبق حملات LOLBIN امکان اجرای دستور و دانلود رو هم داره . مثلا آسیب پذیری XXE در WinRAR هم از این قابلیت استفاده میشد.

در کل گویا به دلیل پیکربندی بد در فایل 7z.dll ، پروسس 7zFM.exe دارای آسیب پذیری Heap overflow میشه و با استفاده از این آسیب پذیری و ویژگی اجرای دستور توسط HH.exe امکان افزایش سطح امتیاز و اجرای دستور توسط هکرها فراهم میشه.

اکسپلویتی برای این آسیب پذیری در زمان نگارش این مقاله نبود، فقط یک ویدیو PoC از محققی که این آسیب پذیری رو پیدا کرده منتشر شده که میتونید از گیتهاب یا یوتیوب ببینیدش. ارزش اکسپلویت این آسیب پذیری حدود 5000 دلار اعلام شده(فعلا).

برای اینکه تحت تاثیر این آسیب پذیری قرار نگیرید ، Kağan Çapar کاشف آسیب پذیری 2 تا راهکار داده اگه 7zip آپدیتی برای این آسیب پذیری نده:

1- فایل راهنمای 7zip رو حذف کنید. (این فایل در مسیر نصب برنامه هستش) برای من تو این مسیر بود :

c:\ProgramFiles\7-Zip\7-zip.chm

2- دسترسی فقط خواندن و اجرا برای تمام یوزرها برای برنامه 7zip بدید.


آسیب پذیری با شناسه CVE-2022-1329

این آسیب پذیری در پلاگین Elementor وردپرس ، نسخه های 3.6.0 تا 3.6.2 رو تحت تاثیر میزاره و منجر به اجرای کد توسط هکرها میشه.این آسیب پذیری دارای امتیاز 9.9 یا بحرانی هستش. نسخه 3.6.3 نسخه اصلاح شده برای این آسیب پذیری هستش که با بروزرسانی به این نسخه ، وردپرستون رو امن میکنید.

پلاگین Elementor یک صفحه ساز برای وردپرس هستش که امکانات مختلفی رو برای ادمین ها فراهم میکنه و طبق اعلام وردپرس بیش از 5 میلیون نصبی داره.

فرایند کشف آسیب پذیری این شکلی بوده که تیم امنیتی wordfence در حال رصد بودند و متوجه میشن هکری این مسیر رو میخونه :

/wp-content/plugins/elementor/readme.txt

اومدن بررسی کردن و دیدن که هیچ آسیب پذیری برای این مورد وجود نداره و بنارو رو این گذاشتن که هکر از یه آسیب پذیری افشا نشده داره استفاده میکنه. اومدن این پلاگین رو بررسی کردن و متوجه شدن که کلی مورد امنیتی داره و اغلب موارد امنیتی هم به دلیل عدم وجود بررسی تو جاهای درست هستش. بالاخره با بررسی این موارد یک آسیب پذیری که منجر به دسترسی غیر مجاز و اجرای کد رو به مهاجم میداده رو پیدا میکنن.

این آسیب پذیری توسط شخصی که وارد وردپرس نشده ممکنه اکسپلویت بشه، اما هر کسی که وارد وردپرس شده و به داشبورد مدیریت وردپرس دسترسی داره به راحتی قابل استفاده هستش. (به دلیل nonce معتبر)

این گروه توصیه کردند که پلاگینی با این سطح از امنیت و نصب بیش از 5 میلیونی نگران کننده هستش و گفتن در صورت امکان از اون استفاده نکنن. عدم توجه به این ایمن سازی به دلیل مشکلات مالی نیست چون توسعه دهندگان این پلاگین حدود 15 میلیون دلار در سال 2020 کسب کردن.

در نسخه 3.6.0 این پلاگین ویژگی بنام onboarding اضافه شده که فرایند نصب اونو ساده تر میکرده. اما این ساده تر شده به دلیل عدم بررسی های مناسب دچار نقص های امنیتی هستش .

در فایل /core/app/modules/onboarding/module.php افزونه، کد زیر در طول admin_init اجرا می‌شه، به این معنی که حتی برای کسانی که وارد وردپرس نشده‌اند نیز اجرا می‌شه:

اگر یک درخواست AJAX در حال انجام باشه و یک nonce معتبر ارائه بشه، این کد تابع دیگری ، maybe_handle_ajax ،اجرا می کنه. اون تابع، به نوبه خود، بسته به مقدار "action" ورودی POST، توابع دیگری را اجرا خواهد کرد:

آسیب‌پذیری RCE که پیدا کردن در تابع upload_and_install_pro است که از طریق عدم بررسی دسترسی کاربران توسط تابع قبلی قابل اجراست. این تابع یک افزونه وردپرس ارسال شده با درخواست را نصب می کنه:

این یعنی اینکه فایل های دلخواه را میشه در وب سایت آپلود و اجرا کرد. RCE زمانی رخ میده که کد سعی می کنه افزونه ای را فعال کند که در محل Elementor Pro قرار داره:

بنابراین اگر افزونه در حال آپلود مطابق با آن باشد، فعال میشه و کد موجود در فایل مربوطه اجرا می شه.

کد POC:

<html>
<body>
<form action="http://[path to WordPress]/wp-admin/admin-ajax.php" enctype="multipart/form-data" method="POST">
<input type="hidden" name="action" value="elementor_upload_and_install_pro" />
<input type="hidden" name="_nonce" value="[nonce]" />
<input type="file" name="fileToUpload" />
<input type="submit" value="Submit" />
</form>
</body>
</html>

فقط مسیر و nonce رو جایگزین کنید .

بروزرسانی :

اکسپلویت برای پلاگین وردپرس منتشر شد

ما را دنبال کنید

دنیای توسعه دهندگان زیرودی ، مشاهده در : آپارات - یوتیوب - تلگرام

اولین شماره از نشریه تخصصی امنیت سایبری با موضوعات مختلف و بروز