WPMMCC Security & Risk Analysis

wordpress.org/plugins/wpmmcc

Multilingual solution for WordPress with automatic translation and site group management.

0 active installs v0.1.1 PHP 7.2+ WP 5.0+ Updated Unknown
localizationmultilingualmultisiteseotranslation
100
A · Safe
CVEs total0
Unpatched0
Last CVENever
Download
Safety Verdict

Is WPMMCC Safe to Use in 2026?

Generally Safe

Score 100/100

WPMMCC has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs
Risk Assessment

The wpmmcc v0.1.1 plugin exhibits a mixed security posture. While it demonstrates strong adherence to several security best practices, such as a high percentage of prepared SQL statements and properly escaped output, it also presents notable areas of concern. The presence of 18 AJAX handlers, with a significant 7 lacking authentication checks, creates a substantial attack surface that could be exploited by unauthenticated users. Furthermore, the taint analysis revealed 31 high-severity flows with unsanitized paths, indicating potential for attackers to inject malicious data that is not properly validated or cleaned before being processed. The plugin's vulnerability history is clean, with no recorded CVEs, which is a positive sign suggesting the developers may have a proactive approach to security or that the plugin has not been a target. However, the direct evidence of potential vulnerabilities within the code analysis, particularly the unprotected AJAX endpoints and high-severity unsanitized taint flows, outweighs the clean history and indicates a moderate to high risk. The use of `unserialize` is also a potential concern, especially if user-controlled data is being unserialized without stringent validation.

Key Concerns

  • Unprotected AJAX handlers
  • High severity unsanitized taint flows
  • Use of unserialize function
Vulnerabilities
None known

WPMMCC Security Vulnerabilities

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

WPMMCC Code Analysis

Dangerous Functions
1
Raw SQL Queries
68
397 prepared
Unescaped Output
93
1375 escaped
Nonce Checks
38
Capability Checks
53
File Operations
8
External Requests
1
Bundled Libraries
0

Dangerous Functions Found

unserialize$schedule = unserialize( $data->schedule );includes\asrunner\classes\data-stores\ActionScheduler_DBStore.php:432

SQL Query Safety

85% prepared465 total queries

Output Escaping

94% escaped1468 total outputs
Data Flows
35 unsanitized

Data Flow Analysis

25 flows35 with unsanitized paths
search_box (src\Admin\Tables\LlmModelTable.php:72)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
7 unprotected

WPMMCC Attack Surface

Entry Points25
Unprotected7

AJAX Handlers 18

authwp_ajax_wpmmcc_bulk_translatesrc\Admin\Ajax\BulkTranslationAjaxHandler.php:62
authwp_ajax_wpmmcc_ml_list_seo_fieldssrc\Admin\Pages\SeoFieldsPage.php:37
authwp_ajax_wpmmcc_ml_scan_seo_fieldssrc\Admin\Pages\SeoFieldsPage.php:38
authwp_ajax_wpmmcc_ml_add_seo_fieldsrc\Admin\Pages\SeoFieldsPage.php:39
authwp_ajax_wpmmcc_ml_remove_seo_fieldsrc\Admin\Pages\SeoFieldsPage.php:40
authwp_ajax_wpmmcc_ml_toggle_seo_fieldsrc\Admin\Pages\SeoFieldsPage.php:41
authwp_ajax_wpmmcc_ml_check_group_namesrc\Admin\Pages\SiteGroupsPage.php:43
authwp_ajax_wpmmcc_ml_check_group_directorysrc\Admin\Pages\SiteGroupsPage.php:44
authwp_ajax_wpmmcc_ml_site_savesrc\Admin\Pages\SiteListPage.php:71
authwp_ajax_wpmmcc_ml_site_deletesrc\Admin\Pages\SiteListPage.php:72
authwp_ajax_wpmmcc_ml_site_update_fieldsrc\Admin\Pages\SiteListPage.php:73
authwp_ajax_wpmmcc_ml_site_translatesrc\Admin\Pages\SiteListPage.php:74
authwp_ajax_wpmmcc_trigger_queuesrc\Admin\Pages\TaskListPage.php:55
authwp_ajax_wpmmcc_ml_theme_manual_savesrc\Admin\Pages\ThemeTranslationPage.php:81
authwp_ajax_wpmmcc_ml_get_translation_fieldssrc\Admin\Pages\TranslationFieldsPage.php:37
authwp_ajax_wpmmcc_ml_toggle_translation_fieldsrc\Admin\Pages\TranslationFieldsPage.php:38
authwp_ajax_wpmmcc_ml_test_rulesrc\Admin\Pages\TranslationRulesPage.php:114
authwp_ajax_wpmmcc_ml_check_rule_namesrc\Admin\Pages\TranslationRulesPage.php:115

REST API Routes 1

POST/wp-json/wpmmcc/v1/queue/triggersrc\Scheduling\TaskQueue.php:63

Shortcodes 6

[wpmmcc_ml_site_group_type] src\PublicSite\FrontendService.php:179
[wpmmcc_ml_current_language] src\PublicSite\FrontendService.php:186
[wpmmcc_ml_canonical] src\PublicSite\FrontendService.php:193
[wpmmcc_ml_hreflang] src\PublicSite\FrontendService.php:200
[wpmmcc_ml_language_switcher] src\PublicSite\FrontendService.php:207
[wpmmcc_ml_language_items] src\PublicSite\FrontendService.php:232
WordPress Hooks 174
actionplugins_loadedincludes\asrunner\action-scheduler.php:36
actionplugins_loadedincludes\asrunner\action-scheduler.php:39
actioninitincludes\asrunner\classes\abstracts\ActionScheduler.php:156
actionaction_scheduler_canceled_actionincludes\asrunner\classes\abstracts\ActionScheduler_Logger.php:65
actionaction_scheduler_begin_executeincludes\asrunner\classes\abstracts\ActionScheduler_Logger.php:66
actionaction_scheduler_after_executeincludes\asrunner\classes\abstracts\ActionScheduler_Logger.php:67
actionaction_scheduler_failed_executionincludes\asrunner\classes\abstracts\ActionScheduler_Logger.php:68
actionaction_scheduler_failed_actionincludes\asrunner\classes\abstracts\ActionScheduler_Logger.php:69
actionaction_scheduler_unexpected_shutdownincludes\asrunner\classes\abstracts\ActionScheduler_Logger.php:70
actionaction_scheduler_reset_actionincludes\asrunner\classes\abstracts\ActionScheduler_Logger.php:71
actionaction_scheduler_execution_ignoredincludes\asrunner\classes\abstracts\ActionScheduler_Logger.php:72
actionaction_scheduler_failed_fetch_actionincludes\asrunner\classes\abstracts\ActionScheduler_Logger.php:73
actionaction_scheduler_failed_to_schedule_next_instanceincludes\asrunner\classes\abstracts\ActionScheduler_Logger.php:74
actionaction_scheduler_bulk_cancel_actionsincludes\asrunner\classes\abstracts\ActionScheduler_Logger.php:75
actionaction_scheduler_stored_actionincludes\asrunner\classes\abstracts\ActionScheduler_Logger.php:82
actionshutdownincludes\asrunner\classes\ActionScheduler_FatalErrorMonitor.php:45
actionaction_scheduler_before_executeincludes\asrunner\classes\ActionScheduler_FatalErrorMonitor.php:46
actionaction_scheduler_after_executeincludes\asrunner\classes\ActionScheduler_FatalErrorMonitor.php:47
actionaction_scheduler_execution_ignoredincludes\asrunner\classes\ActionScheduler_FatalErrorMonitor.php:48
actionaction_scheduler_failed_executionincludes\asrunner\classes\ActionScheduler_FatalErrorMonitor.php:49
filtercron_schedulesincludes\asrunner\classes\ActionScheduler_QueueRunner.php:70
actionshutdownincludes\asrunner\classes\ActionScheduler_QueueRunner.php:93
actionaction_scheduler_before_schema_updateincludes\asrunner\classes\schema\ActionScheduler_StoreSchema.php:41
actionplugins_loadedincludes\class-plugin.php:62
actioninitincludes\class-plugin.php:63
actionadmin_menusrc\Admin\AdminService.php:76
actionadmin_enqueue_scriptssrc\Admin\AdminService.php:77
actionadmin_noticessrc\Admin\AdminService.php:78
actionadmin_post_wpmmcc_ml_toggle_loggingsrc\Admin\AdminService.php:79
filterpost_linksrc\Admin\Hooks\AdminFrontendLinkHooks.php:59
filterpage_linksrc\Admin\Hooks\AdminFrontendLinkHooks.php:60
filterget_comment_linksrc\Admin\Hooks\AdminFrontendLinkHooks.php:61
actionrestrict_manage_commentssrc\Admin\Hooks\CommentListHooks.php:62
filtercomments_clausessrc\Admin\Hooks\CommentListHooks.php:63
actionadmin_head-edit-comments.phpsrc\Admin\Hooks\CommentListHooks.php:64
filterwpmcc_before_create_sitesrc\Admin\Hooks\DirectoryConflictHooks.php:57
filterwpmu_new_blogsrc\Admin\Hooks\DirectoryConflictHooks.php:60
filterwpmmcc_before_save_site_groupsrc\Admin\Hooks\DirectoryConflictHooks.php:63
filterbulk_actions-uploadsrc\Admin\Hooks\MediaBulkActions.php:71
filterhandle_bulk_actions-uploadsrc\Admin\Hooks\MediaBulkActions.php:72
actionadmin_noticessrc\Admin\Hooks\MediaBulkActions.php:73
filterattachment_fields_to_editsrc\Admin\Hooks\MediaEditHooks.php:63
actionadmin_footer-post.phpsrc\Admin\Hooks\MediaEditHooks.php:66
actionadmin_head-post.phpsrc\Admin\Hooks\MediaEditHooks.php:67
actionrestrict_manage_postssrc\Admin\Hooks\MediaListHooks.php:65
actionpre_get_postssrc\Admin\Hooks\MediaListHooks.php:68
filterattachment_fields_to_editsrc\Admin\Hooks\MediaListHooks.php:71
filterattachment_fields_to_savesrc\Admin\Hooks\MediaListHooks.php:72
actionadmin_head-upload.phpsrc\Admin\Hooks\MediaListHooks.php:75
actionadmin_footer-upload.phpsrc\Admin\Hooks\MediaListHooks.php:77
actionadmin_noticessrc\Admin\Hooks\NetworkStatusNotices.php:56
filterbulk_actions-edit-postsrc\Admin\Hooks\PostBulkActions.php:71
filterhandle_bulk_actions-edit-postsrc\Admin\Hooks\PostBulkActions.php:72
filterbulk_actions-edit-pagesrc\Admin\Hooks\PostBulkActions.php:74
filterhandle_bulk_actions-edit-pagesrc\Admin\Hooks\PostBulkActions.php:75
actionadmin_noticessrc\Admin\Hooks\PostBulkActions.php:76
actionrestrict_manage_postssrc\Admin\Hooks\PostListHooks.php:66
actionpre_get_postssrc\Admin\Hooks\PostListHooks.php:69
actionadmin_head-edit.phpsrc\Admin\Hooks\PostListHooks.php:72
filterget_termsrc\Admin\Hooks\TermAdminDisplayHooks.php:63
filterbulk_actions-edit-categorysrc\Admin\Hooks\TermBulkActions.php:71
filterhandle_bulk_actions-edit-categorysrc\Admin\Hooks\TermBulkActions.php:72
filterbulk_actions-edit-post_tagsrc\Admin\Hooks\TermBulkActions.php:74
filterhandle_bulk_actions-edit-post_tagsrc\Admin\Hooks\TermBulkActions.php:75
actionadmin_noticessrc\Admin\Hooks\TermBulkActions.php:77
actioncategory_add_form_fieldssrc\Admin\Hooks\TermListHooks.php:77
actionpost_tag_add_form_fieldssrc\Admin\Hooks\TermListHooks.php:78
actionrestrict_manage_termssrc\Admin\Hooks\TermListHooks.php:81
actionadmin_footer-edit-tags.phpsrc\Admin\Hooks\TermListHooks.php:84
actioncreate_termsrc\Admin\Hooks\TermListHooks.php:87
actionedit_termsrc\Admin\Hooks\TermListHooks.php:88
actioncategory_edit_form_fieldssrc\Admin\Hooks\TermListHooks.php:91
actionpost_tag_edit_form_fieldssrc\Admin\Hooks\TermListHooks.php:92
filterget_terms_argssrc\Admin\Hooks\TermListHooks.php:95
filterget_termssrc\Admin\Hooks\TermListHooks.php:98
filterget_termssrc\Admin\Hooks\TermListHooks.php:100
filtermanage_edit-category_columnssrc\Admin\Hooks\TermListHooks.php:103
filtermanage_edit-post_tag_columnssrc\Admin\Hooks\TermListHooks.php:104
filtermanage_category_custom_columnsrc\Admin\Hooks\TermListHooks.php:105
filtermanage_post_tag_custom_columnsrc\Admin\Hooks\TermListHooks.php:106
actionadmin_head-edit-tags.phpsrc\Admin\Hooks\TermListHooks.php:108
actionadd_meta_boxessrc\Admin\MetaBoxes\PostSiteMetaBox.php:64
actionsave_postsrc\Admin\MetaBoxes\PostSiteMetaBox.php:67
actionadmin_post_wpmmcc_ml_save_vendorsrc\Admin\Pages\ApiVendorsPage.php:178
actionadmin_post_wpmmcc_ml_save_global_settingssrc\Admin\Pages\GlobalSettingsPage.php:61
actionadmin_post_wpmmcc_ml_cleanup_logssrc\Admin\Pages\GlobalSettingsPage.php:62
actionadmin_post_wpmmcc_ml_save_plugin_languagesrc\Admin\Pages\GlobalSettingsPage.php:63
actionadmin_post_wpmmcc_ml_save_llm_modelsrc\Admin\Pages\LlmPage.php:50
actionadmin_post_wpmmcc_ml_delete_llm_modelsrc\Admin\Pages\LlmPage.php:51
actionadmin_initsrc\Admin\Pages\LlmPage.php:52
actionadmin_post_wpmmcc_ml_save_settingssrc\Admin\Pages\SettingsPage.php:58
actionadmin_post_wpmmcc_ml_cleanup_logssrc\Admin\Pages\SettingsPage.php:59
actionadmin_post_wpmmcc_ml_save_groupsrc\Admin\Pages\SiteGroupsPage.php:41
actionadmin_post_wpmmcc_ml_delete_groupsrc\Admin\Pages\SiteGroupsPage.php:42
actionadmin_post_wpmmcc_ml_task_cancelsrc\Admin\Pages\TaskListPage.php:49
actionadmin_post_wpmmcc_ml_task_runsrc\Admin\Pages\TaskListPage.php:50
actionadmin_post_wpmmcc_ml_task_retrysrc\Admin\Pages\TaskListPage.php:51
actionadmin_post_wpmmcc_ml_task_deletesrc\Admin\Pages\TaskListPage.php:52
actionadmin_enqueue_scriptssrc\Admin\Pages\TaskListPage.php:58
actionadmin_post_wpmmcc_ml_delete_relationsrc\Admin\Pages\TranslationManagementPage.php:69
actionadmin_post_wpmmcc_ml_bulk_delete_relationssrc\Admin\Pages\TranslationManagementPage.php:70
actionadmin_post_wpmmcc_ml_save_rulesrc\Admin\Pages\TranslationRulesPage.php:112
actionadmin_post_wpmmcc_ml_delete_rulesrc\Admin\Pages\TranslationRulesPage.php:113
actionadmin_initsrc\Admin\Pages\TranslationRulesPage.php:116
actioninitsrc\Core\SitemapService.php:47
filterquery_varssrc\Core\SitemapService.php:48
actiontemplate_redirectsrc\Core\SitemapService.php:49
actioninitsrc\Core\SitemapService.php:50
filterredirect_canonicalsrc\Core\SitemapService.php:51
actioninitsrc\Infrastructure\Providers\TaskProvider.php:28
actionrest_api_initsrc\Infrastructure\Providers\TaskProvider.php:63
actioninitsrc\Infrastructure\ServiceProvider.php:63
actionwp_headsrc\PublicSite\FrontendService.php:87
actionwp_enqueue_scriptssrc\PublicSite\FrontendService.php:115
actioninitsrc\PublicSite\FrontendService.php:119
actiontemplate_redirectsrc\PublicSite\Hooks\CanonicalFallbackHooks.php:43
filterdo_redirect_guess_404_permalinksrc\PublicSite\Hooks\CanonicalFallbackHooks.php:46
filterredirect_canonicalsrc\PublicSite\Hooks\CanonicalFallbackHooks.php:49
filterold_slug_redirect_urlsrc\PublicSite\Hooks\CanonicalFallbackHooks.php:52
filterget_post_metadatasrc\PublicSite\Hooks\MediaFrontendHooks.php:41
filterwp_get_attachment_captionsrc\PublicSite\Hooks\MediaFrontendHooks.php:42
filterthe_titlesrc\PublicSite\Hooks\PostContentHooks.php:43
filterthe_contentsrc\PublicSite\Hooks\PostContentHooks.php:44
filterget_the_excerptsrc\PublicSite\Hooks\PostContentHooks.php:45
actionpre_get_postssrc\PublicSite\Hooks\QueryFilterHooks.php:130
filterposts_wheresrc\PublicSite\Hooks\QueryFilterHooks.php:131
filterposts_wheresrc\PublicSite\Hooks\QueryFilterHooks.php:132
filterget_next_post_wheresrc\PublicSite\Hooks\QueryFilterHooks.php:133
filterget_previous_post_wheresrc\PublicSite\Hooks\QueryFilterHooks.php:134
filterwidget_archives_argssrc\PublicSite\Hooks\QueryFilterHooks.php:135
filterwidget_posts_argssrc\PublicSite\Hooks\QueryFilterHooks.php:136
filterget_terms_argssrc\PublicSite\Hooks\QueryFilterHooks.php:147
filterwidget_comments_argssrc\PublicSite\Hooks\QueryFilterHooks.php:158
filtercomments_clausessrc\PublicSite\Hooks\QueryFilterHooks.php:159
filterget_usernumpostssrc\PublicSite\Hooks\QueryFilterHooks.php:160
filterwpseo_breadcrumb_linkssrc\PublicSite\Hooks\QueryFilterHooks.php:174
filterrank_math/frontend/breadcrumb/itemssrc\PublicSite\Hooks\QueryFilterHooks.php:177
filterterm_linksrc\PublicSite\Hooks\QueryFilterHooks.php:180
filterget_the_categoriessrc\PublicSite\Hooks\QueryFilterHooks.php:183
filterdocument_title_partssrc\PublicSite\Hooks\SeoMetaHooks.php:92
actionwp_headsrc\PublicSite\Hooks\SeoMetaHooks.php:95
filterpre_get_document_titlesrc\PublicSite\Hooks\SeoMetaHooks.php:98
filterget_termsrc\PublicSite\Hooks\TermFrontendHooks.php:41
filterterm_namesrc\PublicSite\Hooks\TermFrontendHooks.php:42
filterterm_descriptionsrc\PublicSite\Hooks\TermFrontendHooks.php:43
filterdynamic_sidebar_paramssrc\PublicSite\Hooks\ThemeDynamicHooks.php:82
filterwp_nav_menu_objectssrc\PublicSite\Hooks\ThemeDynamicHooks.php:83
filterwidget_titlesrc\PublicSite\Hooks\ThemeDynamicHooks.php:84
filtergettextsrc\PublicSite\Hooks\ThemeDynamicHooks.php:85
filterpost_linksrc\PublicSite\Hooks\UrlLocalizationHooks.php:144
filterpage_linksrc\PublicSite\Hooks\UrlLocalizationHooks.php:145
filterscript_loader_srcsrc\PublicSite\Hooks\UrlLocalizationHooks.php:156
filterstyle_loader_srcsrc\PublicSite\Hooks\UrlLocalizationHooks.php:157
filtercomment_post_redirectsrc\PublicSite\Hooks\UrlLocalizationHooks.php:168
filterwp_nav_menu_objectssrc\PublicSite\Hooks\UrlLocalizationHooks.php:179
filterthe_contentsrc\PublicSite\Hooks\UrlLocalizationHooks.php:180
filterwidget_textsrc\PublicSite\Hooks\UrlLocalizationHooks.php:181
filterrewrite_rules_arraysrc\PublicSite\RewriteRulesManager.php:39
filterquery_varssrc\PublicSite\RewriteRulesManager.php:42
actioninitsrc\PublicSite\RewriteRulesManager.php:43
actionwpmmcc_sites_updatedsrc\PublicSite\RewriteRulesManager.php:46
actionparse_requestsrc\PublicSite\SiteContext.php:28
filterhome_urlsrc\PublicSite\SiteContext.php:482
actionaction_scheduler_failed_executionsrc\Scheduling\ActivationTestRunner.php:481
actioninitsrc\Scheduling\TaskQueue.php:58
actionrest_api_initsrc\Scheduling\TaskQueue.php:59
actionaction_scheduler_failed_executionsrc\Scheduling\TaskQueue.php:198
actionaction_scheduler_canceled_actionsrc\Scheduling\TaskQueue.php:199
filteraction_scheduler_queue_runner_batch_sizesrc\Scheduling\TaskQueue.php:200
filteraction_scheduler_queue_runner_concurrent_batchessrc\Scheduling\TaskQueue.php:201
filteraction_scheduler_queue_runner_time_limitsrc\Scheduling\TaskQueue.php:202
actionparse_requestsrc\Sites\SiteContext.php:28
filterhome_urlsrc\Sites\SiteContext.php:482
actionadmin_noticeswpmmcc.php:42
Maintenance & Trust

WPMMCC Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedUnknown
PHP min version7.2
Downloads128

Community Trust

Rating0/100
Number of ratings0
Active installs0
Developer Profile

WPMMCC Developer Profile

wpmmcc

1 plugin · 0 total installs

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

How We Detect WPMMCC

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/wpmmcc/assets/js/wpmmcc-admin.js/wp-content/plugins/wpmmcc/assets/css/wpmmcc-admin.css
Script Paths
/wp-content/plugins/wpmmcc/assets/js/wpmmcc-admin.js
Version Parameters
wpmmcc/assets/css/wpmmcc-admin.css?ver=wpmmcc/assets/js/wpmmcc-admin.js?ver=

HTML / DOM Fingerprints

CSS Classes
wpmmcc-admin-pagewpmmcc-settings-pagewpmmcc-site-groups-pagewpmmcc-translation-rules-pagewpmmcc-theme-pagewpmmcc-theme-translation-pagewpmmcc-sitemap-pagewpmmcc-translation-fields-page+4 more
HTML Comments
<!-- WPMMCC Logging Configuration --><!-- WPMMCC admin notices -->
Data Attributes
data-wpmmcc-action
JS Globals
wpmmcc_admin_params
REST Endpoints
/wp-json/wpmmcc/v1/bulk-translate/wp-json/wpmmcc/v1/save-settings
FAQ

Frequently Asked Questions about WPMMCC