آسیب پذیری روز صفر
به گزارش مرکز تخصصی آپا دانشگاه هرمزگان، سامانه دیدهبان(didebanservice) این دانشگاه در تاریخ امروز، ۱۲ خرداد ۱۴۰۴، هشدار انتشار یک آسیبپذیری با شدت ۹.۹ را صادر کرده است که در ساعاتی پیش توسط گروه MITRE ATT&CK® افشا شده بود.
این آسیبپذیری روز صفر با شدت بحرانی ۹.۹ و شناسه CVE-2025-49113 منتشر شده و بردار آن به شرح زیر است:
این آسیبپذیری به کاربر احراز هویتشده (دارای اکانت ایمیل معمولی) اجازه اجرای کد از راه دور روی سرور را میدهد.
علت این آسیبپذیری، عدم کنترل پارامتر -form در فایل upload.php است که هکر میتواند از طریق این پارامتر بهرهبرداری لازم برای اجرای کد از راه دور روی سرور را انجام دهد.
این آسیبپذیری سرورهایی را که از RoundCube نسخه ۱.۶.11 و پایینتر استفاده میکنند، تحت تأثیر قرار میدهد.
برای وصله کردن این آسیبپذیری، میبایست کدهای زیر به فایل program/actions/settings/upload.php اضافه گردد.
$from = rcube_utils::get_input_string('_from', rcube_utils::INPUT_GET); $type = preg_replace('/(add|edit)-/', '', $from); // Validate URL input. if (!rcube_utils::is_simple_string($type)) { rcmail::write_log('errors', 'The URL parameter "_from" contains disallowed characters and the request is thus rejected.'); $rcmail->output->command('display_message', 'Invalid input', 'error'); $rcmail->output->send('iframe'); } // Plugins in Settings may use this file for some uploads (#5694) // Make sure it does not contain a dot, which is a special character // when using rcube_session::append() below
همچنین در program/lib/Roundcube/rcube_utils.php نیز تغییرات زیر صورت پذیرد
* Check if input value is a "simple" string. * "Simple" is defined as a non-empty string containing onlyMore actions * - "word" characters (alphanumeric plus underscore), * - dots, * - dashes. * * @param string $input The string to test * * @return bool */ public static function is_simple_string($input) { return is_string($input) && !!preg_match('/^[\w.-]+$/i', $input); }