The Widget Options – Advanced Conditional Visibility for Gutenberg Blocks & Classic Widgets plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 4.2.2 via the Display Logic feature. This is due to the plugin using eval() on user-supplied Display Logic expressions with an insufficient blocklist/allowlist that can be bypassed using array_map with string concatenation, combined with a lack of authorization enforcement on the extended_widget_opts_block attribute. This makes it possible for authenticated attackers, with Contributor-level access and above, to execute code on the server. The vulnerability was partially patched in version 4.2.0.
The Widget Options plugin for WordPress contains a Remote Code Execution vulnerability in versions up to 4.2.2 that allows authenticated contributors to execute arbitrary code via the Display Logic feature using eval() with insufficient input validation. Attackers can bypass security filters using array_map and string concatenation techniques to achieve code execution on affected servers.
تحتوي إضافة Widget Options على ثغرة تنفيذ أكواد بعيدة في ميزة Display Logic التي تستخدم دالة eval() مع قائمة حظر/سماح غير كافية. يمكن للمهاجمين المصرح لهم بمستوى المساهم أو أعلى تجاوز الفلاتر الأمنية باستخدام array_map والدمج النصي لتنفيذ أكواد عشوائية على الخادم.
A critical Remote Code Execution flaw exists in the Widget Options WordPress plugin affecting versions up to 4.2.2, allowing authenticated users with contributor privileges to execute malicious code through the Display Logic feature. The vulnerability exploits inadequate input filtering in the eval() function combined with missing authorization checks on widget attributes.
Immediately update the Widget Options plugin to version 4.2.3 or later. If immediate patching is not possible, disable the Display Logic feature and restrict contributor-level access to only trusted users. Implement Web Application Firewall rules to monitor and block suspicious eval() patterns and array_map usage in widget configurations.
قم بتحديث إضافة Widget Options إلى الإصدار 4.2.3 أو أحدث فوراً. إذا لم يكن التحديث ممكناً، قم بتعطيل ميزة Display Logic وقصر وصول مستوى المساهم على المستخدمين الموثوقين فقط. طبق قواعد جدار حماية تطبيقات الويب لمراقبة وحجب أنماط eval() المريبة واستخدام array_map في إعدادات الأدوات.