
Dynamic Widgets Security & Risk Analysis
wordpress.org/plugins/dynamic-widgetsDynamic Widgets gives you full control on which pages a widget will display. It lets you dynamicly show or hide widgets on WordPress pages.
Is Dynamic Widgets Safe to Use in 2026?
Generally Safe
Score 94/100Dynamic Widgets has a strong security track record. Known vulnerabilities have been patched promptly.
The dynamic-widgets plugin v1.6.6 exhibits a mixed security posture. While it demonstrates good practices in SQL query handling with 100% prepared statements and includes nonce checks on its single AJAX handler, significant concerns arise from the presence of the dangerous `unserialize` function and a high number of taint flows with unsanitized paths. The plugin has a concerning history with 6 known CVEs, including high and medium severity vulnerabilities such as Cross-Site Request Forgery, Cross-Site Scripting, and SQL Injection. The fact that these are currently unpatched, despite the last vulnerability being reported recently, is a red flag.
While the attack surface is small and the single AJAX entry point appears protected from a direct authorization perspective (no explicit capability checks listed, but assumed to be handled internally or via nonce), the code signals and taint analysis reveal potential weaknesses. The high percentage of improperly escaped output (74%) is a critical concern for Cross-Site Scripting vulnerabilities. The 5 taint flows with unsanitized paths, especially when coupled with the `unserialize` function, suggest potential for code execution or data manipulation if these flows are triggered in sensitive contexts. The vulnerability history, particularly the recurrence of XSS and SQLi, reinforces the need for careful code review and patching.
In conclusion, dynamic-widgets v1.6.6 is not recommended for use in its current state due to the combination of a problematic vulnerability history, the dangerous `unserialize` function, significant output escaping issues, and a concerning number of unsanitized taint flows. While some security measures are in place, the risks associated with the identified issues outweigh the strengths.
Key Concerns
- Presence of dangerous unserialize function
- 5 taint flows with unsanitized paths
- 26% properly escaped output
- 6 known CVEs in vulnerability history
- High and medium severity unpatched CVEs
- Capability checks: 0
Dynamic Widgets Security Vulnerabilities
CVEs by Year
Severity Breakdown
6 total CVEs
Dynamic Widgets <= 1.6.4 - Cross-Site Request Forgery
Dynamic Widgets <= 1.5.16 - Reflected Cross-Site Scripting
Dynamic Widgets <= 1.5.10 - Authenticated SQL Injection
Dynamic Widgets <= 1.5.10 - Refletced Cross-Site Scripting
Dynamic Widgets <= 1.5.10 - Cross-Site Scripting
Dynamic Widgets <= 1.5.1 - Cross Site Scripting
Dynamic Widgets Code Analysis
Dangerous Functions Found
SQL Query Safety
Output Escaping
Data Flow Analysis
Dynamic Widgets Attack Surface
AJAX Handlers 1
WordPress Hooks 14
Maintenance & Trust
Dynamic Widgets Maintenance & Trust
Maintenance Signals
Community Trust
Dynamic Widgets Alternatives
Visibility Logic for Elementor
visibility-logic-elementor
Conditional visibility for Elementor — show or hide widgets based on user role, ACF fields, device type, date & time, browser and more.
Widget Display Conditions
widget-display-conditions
Manages widget display by conditions.
Context Manager
context-manager
Make your site react to users' context by changing your theme's CSS and JavaScript files, navigation menus, sidebars and the HTML body tag.
Element Pack Addons for Elementor
bdthemes-element-pack-lite
Ultimate Elementor addon with 300+ widgets, templates, live copy paste, post grid, header footer, mega menu, dynamic builder, WooCommerce and more.
Conditional Fields for Contact Form 7
cf7-conditional-fields
Adds conditional logic to Contact Form 7.
Dynamic Widgets Developer Profile
1 plugin · 10K total installs
How We Detect Dynamic Widgets
Patterns used to identify this plugin on WordPress sites during automated security audits and web crawling.
Asset Fingerprints
/wp-content/plugins/dynamic-widgets/img/dynamic-widgets.png/wp-content/plugins/dynamic-widgets/img/dw-admin.png/wp-content/plugins/dynamic-widgets/css/dw-admin.css/wp-content/plugins/dynamic-widgets/css/dw-client.css/wp-content/plugins/dynamic-widgets/js/dw-admin.js/wp-content/plugins/dynamic-widgets/js/dw-client.js/wp-content/plugins/dynamic-widgets/js/dw-admin.js/wp-content/plugins/dynamic-widgets/js/dw-client.jsdynamic-widgets/css/dw-admin.css?ver=dynamic-widgets/css/dw-client.css?ver=dynamic-widgets/js/dw-admin.js?ver=dynamic-widgets/js/dw-client.js?ver=HTML / DOM Fingerprints
dw_widget_optionsdw_main_widget_settingsdw_options_adddw_options_add_linkdw_options_ruledw_options_remove<!-- Dynamic Widgets --><!-- DW-ADMIN --><!-- DW-CLIENT --><!-- DW END -->+8 moredata-dw-widget-iddata-dw-maintypedata-dw-namedata-dw-valuedw_admin_varsdw_client_vars