آسیبپذیری جدیدی با شناسه CVE-2026-113356 در نرمافزار ویکی متنباز DokuWiki شناسایی شده است که میتواند منجر به اجرای کد از راه دور (Remote Code Execution – RCE) شود. این نقص امنیتی در زیرسیستم مدیریت پیشنویس (Draft subsystem) قرار دارد و از طریق عدم اعتبارسنجی دادههای سریالسازی شده (Deserialization of Untrusted Data) رخ میدهد.
جزئیات فنی و نحوه حمله
این آسیبپذیری از نوع PHP Object Injection است. در این سناریو، تابع unserialize() در فایلهای هسته بدون محدودیت allowed_classes استفاده شده است. یک مهاجم که دارای حساب کاربری احراز هویت شده با سطح دسترسی ویرایش (Edit rights) باشد، میتواند با استفاده از یک شرایط رقابتی (Race Condition) در هنگام ذخیره پیشنویسها، دادههای سریالسازی شده خود را در فایل پیشنویس تزریق کند.
با تزریق موفقیتآمیز دادهها، مهاجم میتواند از زنجیره POP (Property-Oriented Programming) با استفاده از کلاسهای موجود در هسته مانند MemoryIndex یا Installer استفاده کند. کلاس Installer به دلیل توانایی انجام عملیاتهای سیستمی، پتانسیل بالایی برای تبدیل این آسیبپذیری به دسترسی کامل فراهم میکند.
پیامدهای امنیتی
مهاجم در صورت موفقیت میتواند اقدامات زیر را انجام دهد:
- اجرای کد از راه دور (RCE): کنترل کامل بر سرور میزبان.
- دستکاری فایلها: نوشتن (Write) یا حذف (Delete) فایلهای دلخواه در سیستم.
- نقض کامل امنیت: دسترسی به تمامی دادهها و زیرساختهای مرتبط با وبسرور.
راهکارهای مقابله و رفع آسیبپذیری
۱. بهروزرسانی فوری: تمامی سازمانها باید DokuWiki خود را به نسخه 2026-07-14c یا بالاتر ارتقا دهند. این وصله (Patch) محدودیتهای لازم را برای تابع unserialize() در چندین نقطه از کد اعمال میکند.
۲. محدودسازی دسترسیها (Hardening): در صورت عدم امکان بهروزرسانی فوری، توصیه میشود دسترسیهای ویرایش (Write ACLs) را برای کاربران غیرقابل اعتماد یا حسابهای ثبتنام آزاد محدود کنید. همچنین میتوان با محدود کردن تعداد درخواستهای همزمان (Rate Limiting) در سطح Reverse Proxy، ریسک موفقیت در ایجاد Race Condition را کاهش داد.