Important Dates Dashboard Widget Security & Risk Analysis

wordpress.org/plugins/important-dates-dashboard-widget

Display important dates in a widget on the Wordpress dashboard.

10 active installs v1.02 PHP 7.0+ WP 1.0+ Updated Feb 20, 2022
calendar-plugindashboard-widgetsorganization
85
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is Important Dates Dashboard Widget Safe to Use in 2026?

Generally Safe

Score 85/100

Important Dates Dashboard Widget has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs Updated 4yr ago
Risk Assessment

The "important-dates-dashboard-widget" plugin exhibits a mixed security posture. While it demonstrates good practices in its database interactions with 100% prepared statements, the significant number of unprotected AJAX handlers presents a considerable risk. The presence of 17 AJAX handlers without authentication checks opens the door for various unauthorized actions if an attacker can trigger these endpoints. The taint analysis, while limited in scope, did identify flows with unsanitized paths, though no critical or high severity issues were flagged in this analysis. The lack of recorded vulnerability history is a positive sign, suggesting a stable codebase. However, the unprotected AJAX handlers are a notable weakness that could be exploited by malicious actors to disrupt site functionality or potentially gain unauthorized access to data. The plugin also uses a bundled library, Select2, which, if outdated, could introduce further vulnerabilities, although no specific information on its version or security status is provided.

Overall, the plugin has strengths in its SQL handling and apparent lack of historical vulnerabilities. However, the large attack surface created by unprotected AJAX endpoints significantly elevates the risk profile. Future development should prioritize implementing proper authentication and authorization checks for all AJAX handlers to mitigate potential security exploits and ensure a more robust security posture. The 59% proper output escaping rate also suggests room for improvement in preventing cross-site scripting vulnerabilities.

Key Concerns

  • Unprotected AJAX handlers
  • Flows with unsanitized paths (taint analysis)
  • Moderate output escaping coverage
  • Bundled library (Select2) without version info
Vulnerabilities
None known

Important Dates Dashboard Widget Security Vulnerabilities

No known vulnerabilities — this is a good sign.
Code Analysis
Analyzed Mar 17, 2026

Important Dates Dashboard Widget Code Analysis

Dangerous Functions
0
Raw SQL Queries
0
22 prepared
Unescaped Output
102
145 escaped
Nonce Checks
6
Capability Checks
10
File Operations
9
External Requests
0
Bundled Libraries
1

Bundled Libraries

Select2

SQL Query Safety

100% prepared22 total queries

Output Escaping

59% escaped247 total outputs
Data Flows
4 unsanitized

Data Flow Analysis

6 flows4 with unsanitized paths
submit (includes\acf\includes\admin\tools\class-acf-admin-tool-import.php:85)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
17 unprotected

Important Dates Dashboard Widget Attack Surface

Entry Points23
Unprotected17

AJAX Handlers 21

authwp_ajax_acf/field_group/render_field_settingsincludes\acf\includes\admin\admin-field-group.php:38
authwp_ajax_acf/field_group/render_location_ruleincludes\acf\includes\admin\admin-field-group.php:39
authwp_ajax_acf/field_group/move_fieldincludes\acf\includes\admin\admin-field-group.php:40
authwp_ajax_acf/fields/oembed/searchincludes\acf\includes\fields\class-acf-field-oembed.php:35
noprivwp_ajax_acf/fields/oembed/searchincludes\acf\includes\fields\class-acf-field-oembed.php:36
authwp_ajax_acf/fields/page_link/queryincludes\acf\includes\fields\class-acf-field-page_link.php:36
noprivwp_ajax_acf/fields/page_link/queryincludes\acf\includes\fields\class-acf-field-page_link.php:37
authwp_ajax_acf/fields/post_object/queryincludes\acf\includes\fields\class-acf-field-post_object.php:37
noprivwp_ajax_acf/fields/post_object/queryincludes\acf\includes\fields\class-acf-field-post_object.php:38
authwp_ajax_acf/fields/relationship/queryincludes\acf\includes\fields\class-acf-field-relationship.php:38
noprivwp_ajax_acf/fields/relationship/queryincludes\acf\includes\fields\class-acf-field-relationship.php:39
authwp_ajax_acf/fields/select/queryincludes\acf\includes\fields\class-acf-field-select.php:39
noprivwp_ajax_acf/fields/select/queryincludes\acf\includes\fields\class-acf-field-select.php:40
authwp_ajax_acf/fields/taxonomy/queryincludes\acf\includes\fields\class-acf-field-taxonomy.php:46
noprivwp_ajax_acf/fields/taxonomy/queryincludes\acf\includes\fields\class-acf-field-taxonomy.php:47
authwp_ajax_acf/fields/taxonomy/add_termincludes\acf\includes\fields\class-acf-field-taxonomy.php:48
authwp_ajax_acf/fields/user/queryincludes\acf\includes\fields\class-acf-field-user.php:35
noprivwp_ajax_acf/fields/user/queryincludes\acf\includes\fields\class-acf-field-user.php:36
authwp_ajax_query-attachmentsincludes\acf\includes\media.php:32
authwp_ajax_acf/validate_save_postincludes\acf\includes\validation.php:31
noprivwp_ajax_acf/validate_save_postincludes\acf\includes\validation.php:32

Shortcodes 2

[date-today] important_dates_dashboard_widget.php:61
[acf] includes\acf\includes\api\api-template.php:898
WordPress Hooks 217
actioninitcpt\important_dates.php:46
filteracf/settings/show_adminimportant_dates_dashboard_widget.php:38
actionwp_dashboard_setupimportant_dates_dashboard_widget.php:67
actioninitimportant_dates_dashboard_widget.php:127
filtermanage_important_dates_posts_columnsimportant_dates_dashboard_widget.php:169
actionmanage_important_dates_posts_custom_columnimportant_dates_dashboard_widget.php:187
filtermanage_important_dates_posts_sortable_columnsimportant_dates_dashboard_widget.php:191
actionpre_get_postsimportant_dates_dashboard_widget.php:200
filtermanage_important_dates_posts_columnsimportant_dates_dashboard_widget.php:220
filterpost_row_actionsimportant_dates_dashboard_widget.php:228
filterpost_updated_messagesimportant_dates_dashboard_widget.php:280
actioninitincludes\acf\acf.php:193
actioninitincludes\acf\acf.php:194
actioninitincludes\acf\acf.php:195
filterposts_whereincludes\acf\acf.php:198
actionacf/validate_fieldincludes\acf\includes\acf-field-functions.php:334
filterwp_unique_post_slugincludes\acf\includes\acf-field-functions.php:1067
actionwp_untrash_post_statusincludes\acf\includes\acf-field-functions.php:1232
actionacf/validate_field_groupincludes\acf\includes\acf-field-group-functions.php:305
filterwp_unique_post_slugincludes\acf\includes\acf-field-group-functions.php:593
actionwp_untrash_post_statusincludes\acf\includes\acf-field-group-functions.php:790
actionacf/save_postincludes\acf\includes\acf-form-functions.php:168
filterwp_kses_allowed_htmlincludes\acf\includes\acf-input-functions.php:103
actionswitch_blogincludes\acf\includes\acf-utility-functions.php:106
actionacf/get_invalid_field_valueincludes\acf\includes\acf-value-functions.php:359
actioncurrent_screenincludes\acf\includes\admin\admin-field-group.php:34
actionsave_postincludes\acf\includes\admin\admin-field-group.php:35
filterpost_updated_messagesincludes\acf\includes\admin\admin-field-group.php:43
filteruse_block_editor_for_post_typeincludes\acf\includes\admin\admin-field-group.php:44
actionacf/input/admin_enqueue_scriptsincludes\acf\includes\admin\admin-field-group.php:128
actionacf/input/admin_headincludes\acf\includes\admin\admin-field-group.php:129
actionacf/input/form_dataincludes\acf\includes\admin\admin-field-group.php:130
actionacf/input/admin_footerincludes\acf\includes\admin\admin-field-group.php:131
filteracf/input/admin_l10nincludes\acf\includes\admin\admin-field-group.php:134
actionpost_submitbox_misc_actionsincludes\acf\includes\admin\admin-field-group.php:238
actionedit_form_after_titleincludes\acf\includes\admin\admin-field-group.php:239
filterscreen_settingsincludes\acf\includes\admin\admin-field-group.php:242
actionload-edit.phpincludes\acf\includes\admin\admin-field-groups.php:39
actioncurrent_screenincludes\acf\includes\admin\admin-field-groups.php:40
actiontrashed_postincludes\acf\includes\admin\admin-field-groups.php:43
actionuntrashed_postincludes\acf\includes\admin\admin-field-groups.php:44
actiondeleted_postincludes\acf\includes\admin\admin-field-groups.php:45
actionadmin_enqueue_scriptsincludes\acf\includes\admin\admin-field-groups.php:120
actionadmin_body_classincludes\acf\includes\admin\admin-field-groups.php:121
filterviews_edit-acf-field-groupincludes\acf\includes\admin\admin-field-groups.php:122
filtermanage_acf-field-group_posts_columnsincludes\acf\includes\admin\admin-field-groups.php:123
actionmanage_acf-field-group_posts_custom_columnincludes\acf\includes\admin\admin-field-groups.php:124
filterdisplay_post_statesincludes\acf\includes\admin\admin-field-groups.php:125
filterbulk_actions-edit-acf-field-groupincludes\acf\includes\admin\admin-field-groups.php:126
actionadmin_footerincludes\acf\includes\admin\admin-field-groups.php:127
filterpage_row_actionsincludes\acf\includes\admin\admin-field-groups.php:129
actionadmin_footerincludes\acf\includes\admin\admin-field-groups.php:134
actionadmin_noticesincludes\acf\includes\admin\admin-notices.php:119
actionadmin_menuincludes\acf\includes\admin\admin-tools.php:35
actionadmin_menuincludes\acf\includes\admin\admin-upgrade.php:25
actionnetwork_admin_menuincludes\acf\includes\admin\admin-upgrade.php:27
actionadmin_noticesincludes\acf\includes\admin\admin-upgrade.php:48
actionswitch_blogincludes\acf\includes\admin\admin-upgrade.php:99
actionnetwork_admin_noticesincludes\acf\includes\admin\admin-upgrade.php:108
actionadmin_menuincludes\acf\includes\admin\admin.php:22
actionadmin_enqueue_scriptsincludes\acf\includes\admin\admin.php:23
actionadmin_body_classincludes\acf\includes\admin\admin.php:24
actioncurrent_screenincludes\acf\includes\admin\admin.php:25
actionin_admin_headerincludes\acf\includes\admin\admin.php:107
filteradmin_footer_textincludes\acf\includes\admin\admin.php:108
filteruser_search_columnsincludes\acf\includes\ajax\class-acf-ajax-query-users.php:29
filterposts_orderbyincludes\acf\includes\api\api-helpers.php:1440
filteracf/settings/uploaderincludes\acf\includes\api\api-helpers.php:3464
filteracf/prevent_access_to_unknown_fieldsincludes\acf\includes\api\api-template.php:882
filterterms_clausesincludes\acf\includes\api\api-term.php:195
actioninitincludes\acf\includes\assets.php:45
actionadmin_enqueue_scriptsincludes\acf\includes\assets.php:178
actionadmin_print_scriptsincludes\acf\includes\assets.php:179
actionadmin_print_footer_scriptsincludes\acf\includes\assets.php:180
actionadmin_footerincludes\acf\includes\assets.php:309
filteracf/validate_fieldincludes\acf\includes\compatibility.php:25
filteracf/validate_field/type=textareaincludes\acf\includes\compatibility.php:26
filteracf/validate_field/type=relationshipincludes\acf\includes\compatibility.php:27
filteracf/validate_field/type=post_objectincludes\acf\includes\compatibility.php:28
filteracf/validate_field/type=page_linkincludes\acf\includes\compatibility.php:29
filteracf/validate_field/type=imageincludes\acf\includes\compatibility.php:30
filteracf/validate_field/type=fileincludes\acf\includes\compatibility.php:31
filteracf/validate_field/type=wysiwygincludes\acf\includes\compatibility.php:32
filteracf/validate_field/type=date_pickerincludes\acf\includes\compatibility.php:33
filteracf/validate_field/type=taxonomyincludes\acf\includes\compatibility.php:34
filteracf/validate_field/type=date_time_pickerincludes\acf\includes\compatibility.php:35
filteracf/validate_field/type=userincludes\acf\includes\compatibility.php:36
filteracf/validate_field_groupincludes\acf\includes\compatibility.php:37
filteracf/field_wrapper_attributesincludes\acf\includes\compatibility.php:40
filteracf/location/validate_rule/type=post_taxonomyincludes\acf\includes\compatibility.php:43
filteracf/location/validate_rule/type=post_categoryincludes\acf\includes\compatibility.php:44
actionacf/initincludes\acf\includes\compatibility.php:47
filterget_media_item_argsincludes\acf\includes\fields\class-acf-field-file.php:36
filterget_media_item_argsincludes\acf\includes\fields\class-acf-field-image.php:41
actionacf/save_postincludes\acf\includes\fields\class-acf-field-taxonomy.php:51
actionacf/ajax/query_users/initincludes\acf\includes\fields\class-acf-field-user.php:328
filteracf/ajax/query_users/argsincludes\acf\includes\fields\class-acf-field-user.php:329
filteracf/ajax/query_users/resultincludes\acf\includes\fields\class-acf-field-user.php:330
filteracf/ajax/query_users/search_columnsincludes\acf\includes\fields\class-acf-field-user.php:331
actionacf/enqueue_uploaderincludes\acf\includes\fields\class-acf-field-wysiwyg.php:39
filteracf_the_contentincludes\acf\includes\fields\class-acf-field-wysiwyg.php:62
filteracf_the_contentincludes\acf\includes\fields\class-acf-field-wysiwyg.php:64
filteracf_the_contentincludes\acf\includes\fields\class-acf-field-wysiwyg.php:65
filteracf_the_contentincludes\acf\includes\fields\class-acf-field-wysiwyg.php:66
filteracf_the_contentincludes\acf\includes\fields\class-acf-field-wysiwyg.php:67
filteracf_the_contentincludes\acf\includes\fields\class-acf-field-wysiwyg.php:69
filteracf_the_contentincludes\acf\includes\fields\class-acf-field-wysiwyg.php:70
filteracf_the_contentincludes\acf\includes\fields\class-acf-field-wysiwyg.php:74
filteracf_the_contentincludes\acf\includes\fields\class-acf-field-wysiwyg.php:75
filteracf_the_editor_contentincludes\acf\includes\fields\class-acf-field-wysiwyg.php:239
actionacf/input/admin_enqueue_scriptsincludes\acf\includes\fields\class-acf-field.php:65
actionacf/input/admin_headincludes\acf\includes\fields\class-acf-field.php:66
actionacf/input/form_dataincludes\acf\includes\fields\class-acf-field.php:67
filteracf/input/admin_l10nincludes\acf\includes\fields\class-acf-field.php:68
actionacf/input/admin_footerincludes\acf\includes\fields\class-acf-field.php:69
actionacf/field_group/admin_enqueue_scriptsincludes\acf\includes\fields\class-acf-field.php:72
actionacf/field_group/admin_headincludes\acf\includes\fields\class-acf-field.php:73
actionacf/field_group/admin_footerincludes\acf\includes\fields\class-acf-field.php:74
actionadmin_enqueue_scriptsincludes\acf\includes\forms\form-attachment.php:33
filterattachment_fields_to_editincludes\acf\includes\forms\form-attachment.php:36
filterattachment_fields_to_saveincludes\acf\includes\forms\form-attachment.php:39
actionadmin_footerincludes\acf\includes\forms\form-attachment.php:74
actionadmin_enqueue_scriptsincludes\acf\includes\forms\form-comment.php:34
filtercomment_form_field_commentincludes\acf\includes\forms\form-comment.php:37
actionedit_commentincludes\acf\includes\forms\form-comment.php:43
actioncomment_postincludes\acf\includes\forms\form-comment.php:44
actionadmin_footerincludes\acf\includes\forms\form-comment.php:106
actionadd_meta_boxes_commentincludes\acf\includes\forms\form-comment.php:107
actioncustomize_controls_initincludes\acf\includes\forms\form-customizer.php:33
actioncustomize_preview_initincludes\acf\includes\forms\form-customizer.php:34
actioncustomize_saveincludes\acf\includes\forms\form-customizer.php:35
filterwidget_update_callbackincludes\acf\includes\forms\form-customizer.php:38
actionacf/input/admin_footerincludes\acf\includes\forms\form-customizer.php:67
filteracf/pre_load_valueincludes\acf\includes\forms\form-customizer.php:236
filteracf/pre_load_referenceincludes\acf\includes\forms\form-customizer.php:237
actionacf/validate_save_postincludes\acf\includes\forms\form-front.php:66
filteracf/pre_save_postincludes\acf\includes\forms\form-front.php:69
actionenqueue_block_editor_assetsincludes\acf\includes\forms\form-gutenberg.php:26
actionacf/validate_save_postincludes\acf\includes\forms\form-gutenberg.php:29
actionadd_meta_boxesincludes\acf\includes\forms\form-gutenberg.php:46
actionblock_editor_meta_box_hidden_fieldsincludes\acf\includes\forms\form-gutenberg.php:49
filterfilter_block_editor_meta_boxesincludes\acf\includes\forms\form-gutenberg.php:52
actionadmin_enqueue_scriptsincludes\acf\includes\forms\form-nav-menu.php:27
actionwp_update_nav_menuincludes\acf\includes\forms\form-nav-menu.php:28
actionacf/validate_save_postincludes\acf\includes\forms\form-nav-menu.php:29
actionwp_nav_menu_item_custom_fieldsincludes\acf\includes\forms\form-nav-menu.php:30
filterwp_get_nav_menu_itemsincludes\acf\includes\forms\form-nav-menu.php:33
filterwp_edit_nav_menu_walkerincludes\acf\includes\forms\form-nav-menu.php:34
actionadmin_footerincludes\acf\includes\forms\form-nav-menu.php:64
actionload-post.phpincludes\acf\includes\forms\form-post.php:28
actionload-post-new.phpincludes\acf\includes\forms\form-post.php:29
filterwp_insert_post_empty_contentincludes\acf\includes\forms\form-post.php:32
actionsave_postincludes\acf\includes\forms\form-post.php:33
actionadd_meta_boxesincludes\acf\includes\forms\form-post.php:67
actionedit_form_after_titleincludes\acf\includes\forms\form-post.php:152
actionadmin_enqueue_scriptsincludes\acf\includes\forms\form-taxonomy.php:36
actioncreate_termincludes\acf\includes\forms\form-taxonomy.php:39
actionedit_termincludes\acf\includes\forms\form-taxonomy.php:40
actiondelete_termincludes\acf\includes\forms\form-taxonomy.php:43
actionadmin_footerincludes\acf\includes\forms\form-taxonomy.php:109
actionadmin_enqueue_scriptsincludes\acf\includes\forms\form-user.php:31
actionlogin_form_registerincludes\acf\includes\forms\form-user.php:32
actionshow_user_profileincludes\acf\includes\forms\form-user.php:35
actionedit_user_profileincludes\acf\includes\forms\form-user.php:36
actionuser_new_formincludes\acf\includes\forms\form-user.php:37
actionregister_formincludes\acf\includes\forms\form-user.php:38
actionuser_registerincludes\acf\includes\forms\form-user.php:41
actionprofile_updateincludes\acf\includes\forms\form-user.php:42
filterregistration_errorsincludes\acf\includes\forms\form-user.php:45
filteracf/pre_load_valueincludes\acf\includes\forms\form-user.php:203
actionacf/input/admin_footerincludes\acf\includes\forms\form-user.php:268
actionadmin_enqueue_scriptsincludes\acf\includes\forms\form-widget.php:39
actionin_widget_formincludes\acf\includes\forms\form-widget.php:40
actionacf/validate_save_postincludes\acf\includes\forms\form-widget.php:41
filterwidget_update_callbackincludes\acf\includes\forms\form-widget.php:44
actionacf/input/admin_footerincludes\acf\includes\forms\form-widget.php:80
filteracf/get_cache_keyincludes\acf\includes\l10n.php:153
filteracf/load_field_groupsincludes\acf\includes\local-fields.php:527
filteracf/is_field_keyincludes\acf\includes\local-fields.php:546
filteracf/is_field_group_keyincludes\acf\includes\local-fields.php:565
actionacf/include_fieldsincludes\acf\includes\local-fields.php:590
actionacf/update_field_groupincludes\acf\includes\local-json.php:35
actionacf/untrash_field_groupincludes\acf\includes\local-json.php:36
actionacf/trash_field_groupincludes\acf\includes\local-json.php:37
actionacf/delete_field_groupincludes\acf\includes\local-json.php:38
actionacf/include_fieldsincludes\acf\includes\local-json.php:41
filteracf/pre_load_post_idincludes\acf\includes\local-meta.php:31
filteracf/pre_load_metaincludes\acf\includes\local-meta.php:32
filteracf/pre_load_metadataincludes\acf\includes\local-meta.php:33
filteracf/pre_update_metadataincludes\acf\includes\local-meta.php:103
actionacf/enqueue_scriptsincludes\acf\includes\media.php:23
actionacf/save_postincludes\acf\includes\media.php:26
filterwp_handle_upload_prefilterincludes\acf\includes\media.php:29
filterimage_size_names_chooseincludes\acf\includes\media.php:121
filterwp_prepare_attachment_for_jsincludes\acf\includes\media.php:171
filterimage_size_names_chooseincludes\acf\includes\media.php:172
filterwp_prepare_attachment_for_jsincludes\acf\includes\media.php:174
actionrest_api_initincludes\acf\includes\rest-api\class-acf-rest-api.php:22
filterrest_prepare_userincludes\acf\includes\rest-api\class-acf-rest-embed-links.php:39
actionwp_restore_post_revisionincludes\acf\includes\revisions.php:30
filterwp_save_post_revision_check_for_changesincludes\acf\includes\revisions.php:33
filter_wp_post_revision_fieldsincludes\acf\includes\revisions.php:34
filter_wp_post_revision_fieldsincludes\acf\includes\revisions.php:35
filteracf/validate_post_idincludes\acf\includes\revisions.php:36
filtertabify_posttypesincludes\acf\includes\third-party.php:35
actiontabify_add_meta_boxesincludes\acf\includes\third-party.php:36
filterpts_allowed_pagesincludes\acf\includes\third-party.php:41
filteracf/get_post_typesincludes\acf\includes\third-party.php:46
actiondoing_dark_modeincludes\acf\includes\third-party.php:51
actionwp_upgradeincludes\acf\includes\upgrades.php:455
actionacf/validate_save_postincludes\acf\includes\validation.php:33
actionacf/verify_ajaxincludes\acf\includes\wpml.php:39
filterget_translatable_documentsincludes\acf\includes\wpml.php:42
actionacf/upgrade_500_field_groupincludes\acf\includes\wpml.php:48
actionicl_make_duplicateincludes\acf\includes\wpml.php:49
filteracf/settings/save_jsonincludes\acf\includes\wpml.php:52
filteracf/settings/load_jsonincludes\acf\includes\wpml.php:53
Maintenance & Trust

Important Dates Dashboard Widget Maintenance & Trust

Maintenance Signals

WordPress version tested5.9.13
Last updatedFeb 20, 2022
PHP min version7.0
Downloads5K

Community Trust

Rating0/100
Number of ratings0
Active installs10
Developer Profile

Important Dates Dashboard Widget Developer Profile

virtualmarketadvantage

2 plugins · 10 total installs

84
trust score
Avg Security Score
85/100
Avg Patch Time
30 days
View full developer profile
Detection Fingerprints

How We Detect Important Dates Dashboard Widget

Patterns used to identify this plugin on WordPress sites during automated security audits and web crawling.

Asset Fingerprints

HTML / DOM Fingerprints

CSS Classes
iddw-dates
Data Attributes
post_type=important_datesmeta_key=important_dateorderby=meta_valueimportant_date_nameimportant_date
JS Globals
window.location.href
Shortcode Output
[date-today format="F j, Y"]
FAQ

Frequently Asked Questions about Important Dates Dashboard Widget