پروژهٔ Roundcube روز ۱۹ اکتبر ۲۰۲۶ نسخههای 1.6.20 و 1.7.5 را منتشر کرد که ۲۰ آسیبپذیری گزارششده را برطرف میکنند، و در اطلاعیهاش نوشت: «We strongly recommend to update all productive installations of Roundcube 1.6.x and 1.7.x». دو هفته قبلتر، در ۳ اکتبر، آژانس امنیت سایبری سنگاپور (CSA) هشدار داده بود که یک باگ قدیمیتر Roundcube، یعنی یک SQL injection که پیش از لاگین کار میکند، «طبق گزارشها بهطور فعال مورد سوءاستفاده است».
این دو، دو مشکل جدا با نسخههای اصلاحی متفاوتاند. اگر وبمیل شما روی Roundcube است، در ادامه میگوییم کدامیک به شما مربوط است و این هفته چه باید بکنید.
آسیبپذیریای که از آن سوءاستفاده میشود: CVE-2026-48842
طبق رکورد NVD، نسخههای 1.6.x پیش از 1.6.16 و 1.7.x پیش از 1.7.1 در پلاگین virtuser_query یک SQL injection پیش از احراز هویت دارند. علتش یک escape با بکاسلش است که از preg_replace() رد میشود. وصلهٔ آن در ماه مه آمد، در نسخههای 1.6.16 و 1.7.1 مورخ ۲۴ مه ۲۰۲۶. CSA امتیاز آن را در CVSS v3.1 برابر 8.1 داده و میگوید به «مهاجم احراز هویتنشده» اجازه میدهد در پایگاه دادهٔ زیرین SQL تزریق کند.
دو نکته تعیین میکند که در معرض خطر هستید یا نه. اول، باگ در یک پلاگین است. virtuser_query نامهای کاربری لاگین را با یک کوئری دیتابیس به کاربران صندوق پستی نگاشت میکند و مثل هر پلاگین دیگر Roundcube فقط وقتی اجرا میشود که در پیکربندی شما فهرست شده باشد. دوم، این وصله پنج ماه عمر دارد، پس سروری که از اواخر مه تا حالا هر بهروزرسانیای از Roundcube گرفته باشد، از آن عبور کرده است. سرورهای در خطر همانهاییاند که از بهار کسی سراغشان نرفته، و مهاجمها دقیقاً دنبال همین جور سرورها اسکن میکنند.
بستهٔ جدید: 1.6.20 و 1.7.5
نسخهٔ اکتبر ۲۰ مشکل را برطرف میکند. پروژه نگفته که از هیچکدامشان سوءاستفاده میشود. NVD در ۲۲ اکتبر چند رکورد CVE برای آنها منتشر کرد، از جمله:
- CVE-2026-114727 با امتیاز 8.3: محتوای پیوستی که ممکن است ناامن باشد، هنگام تغییر اندازهٔ تصویر به ImageMagick داده میشود.
- CVE-2026-114730 با امتیاز 7.2: دور زدن فیلتر server-side request forgery از طریق بازهٔ NAT64 یعنی
64:ff9b::/96. - CVE-2026-114732 با امتیاز 6.8: در نصبهای چندمیزبانی، لاگین با alias به میزبان IMAP خودش گره نخورده بود.
اگر Roundcube را با پلاگینها یا درایورهای اضافه اجرا میکنید، بقیهٔ فهرست در اطلاعیهٔ انتشار ارزش خواندن دارد: تزریق دستور IMAP از طریق CRLF در پارامترهای _uid و _flag، چند مسیر header injection، دور زدن CSRF در عملیات علامتگذاری بهعنوان اسپم، یک XSS در مدیریت خطای درایور رمز عبور، و باگی که به درایور رمز عبور Modoboa اجازه میداد رمز حساب دیگری را عوض کند. چندتا از اینها به کاربر لاگینشده نیاز دارند، پس میزان خطر به این بستگی دارد که چند حساب میتوانند وارد شوند.
قدم ۱: نسخهٔ واقعی را پیدا کنید
نسخه در فایل program/include/iniset.php بهصورت RCMAIL_VERSION آمده و اگر پنهانش نکرده باشید، در بخش About منوی تنظیمات هم دیده میشود. با اینها مقایسه کنید:
- شاخهٔ 1.6: به 1.6.20 نیاز دارید. هر نسخه از 1.6.0 تا 1.6.15 در برابر CVE-2026-48842 که از آن سوءاستفاده میشود هم باز است.
- شاخهٔ 1.7: به 1.7.5 نیاز دارید. نسخهٔ 1.7.0 هم در برابر CVE-2026-48842 باز است.
- 1.5 یا قدیمیتر: این انتشارها شامل آن نمیشوند. مهاجرت به 1.6 LTS را برنامهریزی کنید.
اگر Roundcube همراه محصول دیگری نصب شده، مثلاً یک کنترل پنل، یک مجموعهٔ میل سرور یا یک container image، شمارهٔ نسخهٔ خود آن بسته چیزی به شما نمیگوید. نسخهٔ Roundcube داخلش را بررسی کنید و ببینید سازنده 1.6.20 یا 1.7.5 را عرضه کرده یا نه.
قدم ۲: بهروزرسانی کنید، بعد فهرست پلاگینها را ببینید
- از دیتابیس Roundcube و پوشهٔ
config/نسخهٔ پشتیبان بگیرید. - نسخهٔ 1.6.20 یا 1.7.5 را از انتشارهای رسمی GitHub یا بستهٔ توزیع لینوکس خود نصب کنید و اسکریپت بهروزرسانی را اجرا کنید تا اسکیمای دیتابیس هماهنگ شود.
- فایل
config/config.inc.phpرا باز کنید و آرایهٔpluginsرا ببینید. هرچه استفاده نمیکنید حذف کنید. اگرvirtuser_queryآنجاست و نسخهٔ شما زیر 1.6.16 یا 1.7.1 بوده، سرور را احتمالاً نفوذشده فرض کنید و به قدم ۳ بروید. - مطمئن شوید خود PHP بهروز است. Roundcube یک برنامهٔ PHP است، پس آسیبپذیریهای PHP2Shell که ۲۱ اکتبر افشا شدند شامل آن هم میشوند، و بهروزرسانی Roundcube، PHP را بهروز نمیکند.
قدم ۳: اگر نسخهٔ آسیبپذیر را با virtuser_query اجرا کردهاید
SQL injection روی دیتابیس Roundcube میتواند هر چیزی را که آن دیتابیس نگه میدارد بخواند: تنظیمات کاربران، دفترچههای آدرس، هویتها و بسته به پیکربندی، جدول sessionها. بررسیهای عملی:
- در لاگهای وبسرور دنبال کاراکترهای غیرعادی بگردید، بهخصوص بکاسلش و کلیدواژههای SQL، در درخواستهای لاگین مربوط به پیش از وصله.
- کاربر دیتابیسی را که Roundcube با آن وصل میشود بررسی کنید. اگر روی دیتابیسهای دیگرِ همان سرور هم دسترسی دارد، فرض کنید آنها هم در دسترس بودهاند، و دسترسیاش را فقط به دیتابیس Roundcube محدود کنید.
- بعد از بهروزرسانی، با پاک کردن جدول sessionها همهٔ sessionها را منقضی کنید و
des_keyرا در پیکربندی عوض کنید. - اگر همان سرور دیتابیس جدولهای کاربران میل سرور را هم نگه میدارد، آن اطلاعات ورود را هم عوض کنید.
الگوی مشترک هر دو
وبمیل روی اینترنت عمومی قرار دارد و با IMAP، SMTP، یک دیتابیس، یک کتابخانهٔ تصویر و PHP حرف میزند، پس باگ در هرکدام از اینها باگ در سرویس ایمیل است. وصلههای این ماه Roundcube سومین یادآوری در چند هفتهٔ اخیرند، بعد از تزریق دستور SNMP در Zimbra و PHP2Shell، که افزونههای اختیاری و runtime زیرین به اندازهٔ خود میل سرور اهمیت دارند. فقط پلاگینهایی را که استفاده میکنید فعال کنید، دسترسی حساب دیتابیس را محدود نگه دارید، و نسخهٔ runtime را هم دنبال کنید، نه فقط نسخهٔ خود برنامه را. اگر به عوض کردن کل استک فکر میکنید، مقایسهٔ Mailcow، Stalwart و Mailu ما توضیح میدهد هرکدام وبمیل را چطور مدیریت میکنند.
پرسشهای متداول
کدام نسخهٔ Roundcube آن SQL injection را که بهطور فعال از آن سوءاستفاده میشود برطرف میکند؟
CVE-2026-48842 در Roundcube 1.6.16 و 1.7.1 که ۲۴ مه ۲۰۲۶ منتشر شدند برطرف شده است. آخرین نسخهها یعنی 1.6.20 و 1.7.5 مورخ ۱۹ اکتبر ۲۰۲۶ همان وصله را بهاضافهٔ ۲۰ وصلهٔ امنیتی دیگر دارند.
آیا CVE-2026-48842 روی هر سرور Roundcube قابل سوءاستفاده است؟
نه. این باگ در پلاگین virtuser_query است، پس سرور فقط وقتی در معرض خطر است که این پلاگین فعال باشد و Roundcube در شاخهٔ 1.6 قدیمیتر از 1.6.16 یا در شاخهٔ 1.7 قدیمیتر از 1.7.1 باشد.
آیا از آسیبپذیریهای اکتبر ۲۰۲۶ در Roundcube سوءاستفاده میشود؟
پروژهٔ Roundcube سوءاستفاده از ۲۰ مشکلی را که در 1.6.20 و 1.7.5 برطرف شدهاند گزارش نکرده است. هشدار سوءاستفادهٔ CSA سنگاپور در ۳ اکتبر مربوط به CVE-2026-48842 قدیمیتر است.
آیا بهروزرسانی Roundcube در برابر PHP2Shell هم محافظت میکند؟
نه. PHP2Shell باگی در runtime خود PHP است. Roundcube هم بهروزرسانی خودش را لازم دارد و هم یک نسخهٔ اصلاحشدهٔ PHP، مثل 8.2.35، 8.3.36، 8.4.27 یا 8.5.12، یا بستهٔ توزیعی که وصله در آن backport شده باشد.
منابع: Roundcube، ۱۹ اکتبر ۲۰۲۶، Roundcube، ۲۴ مه ۲۰۲۶، هشدار AL-2026-131 از CSA سنگاپور و رکوردهای NVD که در بالا لینک شدهاند.