به گزارش شرکت مهندسی شبکه گستر، WordPress – پراستفادهترین سامانه مدیریت محتوا در جهان – به ضعفی امنیتی آسیبپذیر است که مهاجم را قادر به ارسال درخواست بازگردانی گذرواژه کاربر هدف قرار گرفته شده و دست یافتن به لینک مربوطه در شرایط خاص میکند.
این آسیبپذیری با شناسه CVE-2017-8295 در تمامی نسخههای WordPress از جمله آخرین نسخه آن (4.7.4) وجود دارد.
ضعف امنیتی مذکور توسط یک محقق لهستانی در جولای سال گذشته میلادی شناسایی و به بنیاد WordPress گزارش شد. اما به نظر میرسد علیرغم چندین بار تماس این محقق، این بنیاد آسیبپذیری مذکور را جدی تلقی نکرده که در نتیجه آن این محقق نیز اقدام به انتشار عمومی جزییات آن نموده است.
این آسیبپذیری به نحوه پردازش درخواستهای بازگردانی گذرواژه مربوط میشود.
به طور کلی زمانی که یک کاربر درخواست بازگردانی گذرواژه را از طریق گزینه Forgot Password صادر میکند، WordPress یک کد محرمانه منحصربهفرد را ایجاد کرده و آن را به نشانی ایمیل کاربر که در بانک داده خود بهصورت ذخیره شده دارد ارسال میکند.
در زمان ارسال، WordPress از متغیری با نام SERVER_NAME بهمنظور مقداردهی به فیلدهای From و Return-Path استفاده میکند.
در اینجا، “From” به نشانی ایمیل ارسالکننده و “Return-Path” به نشانی ایمیلی که از آن برای ارسال گزارشهای موسوم به Non-Delivery استفاده میشود اشاره میکند.
بر طبق توضیحات این محقق، مهاجم میتواند با ارسال درخواست دستکاری شده HTTP با یک نام سرور سفارشی – برای مثال سرور MX مهاجم – درخواست بازگردانی گذرواژه را صادر کند. با این کار بخشهای From و Return-Path به ایمیل مهاجم اشاره خواهند کرد.
——[ resulting e-mail ]—–
Subject: [CompanyX WP] Password Reset
Return-Path: <wordpress@attackers-mxserver.com>
From: WordPress <wordpress@attackers-mxserver.com>
Message-ID: <e6fd614c5dd8a1c604df2a732eb7b016@attackers-mxserver.com>
X-Priority: 3
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Someone requested that the password be reset for the following account:
http://companyX-wp/wp/wordpress/
Username: admin
If this was a mistake, just ignore this email and nothing will happen.
To reset your password, visit the following address:
<http://companyX-wp/wp/wordpress/wp-login.php?action=rp&key=AceiMFmkMR4fsmwxIZtZ&login=admin>
——————————-
باید توجه داشت که لینک بازگردانی گذرواژه تنها به ایمیل قربانی ارسال خواهد شد اما بخاطر ویرایش بخشهای From و Return-Path ممکن است در هر یک از حالات زیر مهاجم از این طریق به لینک مذکور دست پیدا کند:
- در صورتی که قربانی ایمیل بازگردانی گذرواژه را پاسخ دهد. با این کار ایمیل پاسخ داده شده (Reply) عملاً به ایمیل مهاجم ارسال میشود.
- اگر به هر دلیلی سرور ایمیل قربانی در دسترس نباشد. در این صورت ایمیل به Return-Path – ایمیل مهاجم – ارسال میگردد.
- ارسال انبوه این درخواستها میتواند منجر به ایجاد ترافیک بالا برای سرور ایمیل قربانی و حتی از کاراندازی آن شود.
به گزارش شرکت مهندسی شبکه گستر، مشخص است که سوءاستفاده از این آسیبپذیری نمیتواند در همه مواقع با موفقیت مهاجم پیش برود. اما میتواند یکی از گزینههای مهاجمان حرفهای و با حوصله باشد.
با توجه به عدم عرضه اصلاحیه برای این آسیبپذیری – حداقل در آیندهای نزدیک -، توصیه میشود تنظیمات سرور Apache بهنحوی پیکربندی شود که در آن مقدار UseCanonicalName به نامه دامنه سرور اشاره کند.
توضیحات کامل در خصوص این آسیبپذیری در اینجا قابل مطالعه است.