MW WP Form Security & Risk Analysis

wordpress.org/plugins/mw-wp-form

MW WP Form is shortcode base contact form plugin. This plugin have many features. For example you can use many validation rules, inquiry data saving, …

200K active installs v5.1.2 PHP 8.0+ WP 6.0+ Updated Apr 8, 2026
confirmformmailpreviewshortcode
82
B · Generally Safe
CVEs total8
Unpatched0
Last CVEMay 13, 2026
Safety Verdict

Is MW WP Form Safe to Use in 2026?

Mostly Safe

Score 82/100

MW WP Form is generally safe to use. 8 past CVEs were resolved.

8 known CVEsLast CVE: May 13, 2026Updated 1mo ago
Risk Assessment

The static analysis of "mw-wp-form" v5.1.0 indicates a generally good security posture with several positive indicators. The plugin has no unprotected AJAX handlers or REST API routes, all SQL queries are prepared, and a high percentage of output is properly escaped. The presence of nonce and capability checks further reinforces good security practices. However, the code signals do show some areas for improvement, particularly concerning file operations, which should always be handled with extreme caution.

Despite the positive static analysis results for the current version, the plugin's vulnerability history is a significant concern. With 5 known CVEs, including one critical and one high severity vulnerability, this indicates a pattern of past security weaknesses. The common vulnerability types such as Cross-site Scripting, Path Traversal, Unrestricted Uploads, and Missing Authorization suggest that inputs have not always been properly sanitized or authorized, leading to potentially serious security flaws in previous versions. The fact that the last vulnerability was relatively recent (January 2024) is also noteworthy.

In conclusion, while "mw-wp-form" v5.1.0 demonstrates adherence to some core security best practices in its current code, its historical vulnerability record warrants a cautious approach. The absence of any unpatched vulnerabilities in the current version is a positive sign, but the recurring nature of certain vulnerability types in its history suggests that ongoing vigilance and thorough auditing are crucial to prevent future exploitations.

Key Concerns

  • Significant historical CVEs, including critical and high.
  • 8 file operations present.
  • 82% output escaping is good, but 18% is unescaped.
Vulnerabilities
8 published

MW WP Form Security Vulnerabilities

CVEs by Year

4 CVEs in 2023
2023
1 CVE in 2024
2024
3 CVEs in 2026
2026
Patched Has unpatched

Severity Breakdown

Critical
1
High
3
Medium
4

8 total CVEs

CVE-2026-6206medium · 5.3Authorization Bypass Through User-Controlled Key

MW WP Form <= 5.1.2 - Insecure Direct Object Reference to Unauthenticated Sensitive Information Disclosure via 'post_id' Query Parameter

May 13, 2026 Patched in 5.1.3 (1d)
CVE-2026-5436high · 8.1Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

MW WP Form <= 5.1.1 - Unauthenticated Arbitrary File Move via regenerate_upload_file_keys

Apr 8, 2026 Patched in 5.1.2 (7d)
CVE-2026-4347high · 8.1Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

MW WP Form <= 5.1.0 - Unauthenticated Arbitrary File Move via move_temp_file_to_upload_dir

Apr 1, 2026 Patched in 5.1.1 (1d)
CVE-2024-24804medium · 5.5Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

MW WP Form <= 5.0.6 - Authenticated (Editor+) Stored Cross-Site Scripting

Jan 31, 2024 Patched in 5.1.0 (52d)
CVE-2023-6559high · 7.5Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

MW WP Form <= 5.0.3 - Improper Limitation of File Name to Unauthenticated Arbitrary File Deletion

Dec 15, 2023 Patched in 5.0.4 (228d)
CVE-2023-6316critical · 9.8Unrestricted Upload of File with Dangerous Type

MW WP Form <= 5.0.1 - Unauthenticated Arbitrary File Upload

Dec 4, 2023 Patched in 5.0.2 (50d)
CVE-2023-46206medium · 5.3Missing Authorization

MW WP Form <= 4.4.5 - Missing Authorization

Oct 19, 2023 Patched in 5.0.0 (96d)
CVE-2023-28409medium · 5.3Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

MW WP Form <= 4.4.2 - Directory Traversal via _file_upload

May 8, 2023 Patched in 4.4.3 (260d)
Version History

MW WP Form Release Timeline

v5.1.2Current1 CVE
v5.1.12 CVEs6 files changed
v5.1.03 CVEs2 files changed
v5.0.74 CVEs2 files changed
v5.0.64 CVEs2 files changed
v5.0.54 CVEs2 files changed
v5.0.44 CVEs3 files changed
v5.0.35 CVEs8 files changed
v5.0.25 CVEs10 files changed
v5.0.16 CVEs129 files changed
v5.0.06 CVEs34 files changed
v4.4.57 CVEs3 files changed
v4.4.47 CVEs3 files changed
v4.4.37 CVEs12 files changed
v4.4.28 CVEs3 files changed
v4.4.18 CVEs8 files changed
v4.4.08 CVEs5 files changed
v4.3.28 CVEs3 files changed
v4.3.18 CVEs126 files changed
v4.2.08 CVEs8 files changed
Code Analysis
Analyzed Mar 16, 2026

MW WP Form Code Analysis

Dangerous Functions
0
Raw SQL Queries
0
4 prepared
Unescaped Output
141
642 escaped
Nonce Checks
4
Capability Checks
5
File Operations
8
External Requests
0
Bundled Libraries
0

SQL Query Safety

100% prepared4 total queries

Output Escaping

82% escaped783 total outputs
Data Flows · Security
All sanitized

Data Flow Analysis

2 flows
_save (classes\controllers\class.chart.php:102)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

MW WP Form Attack Surface

Entry Points3
Unprotected0

Shortcodes 3

[mwform_formkey] classes\controllers\class.main.php:182
[mwform] classes\services\class.exec-shortcode.php:42
[mwform_complete_message] classes\services\class.exec-shortcode.php:43
WordPress Hooks 50
filtermwform_form_fieldsclasses\abstract\class.form-field.php:79
filtermwform_tag_generator_groupclasses\abstract\class.form-field.php:80
actionmwform_tag_generator_dialogclasses\abstract\class.form-field.php:288
filtermwform_validation_rulesclasses\abstract\class.validation-rule.php:39
actionadmin_headclasses\controllers\class.admin-list.php:18
actionadmin_enqueue_scriptsclasses\controllers\class.admin-list.php:19
filtermanage_posts_columnsclasses\controllers\class.admin-list.php:26
actionmanage_posts_custom_columnclasses\controllers\class.admin-list.php:27
actionadd_meta_boxesclasses\controllers\class.admin.php:22
filterdefault_contentclasses\controllers\class.admin.php:23
actionmedia_buttonsclasses\controllers\class.admin.php:24
actionadmin_enqueue_scriptsclasses\controllers\class.admin.php:25
actionsave_postclasses\controllers\class.admin.php:26
actionadmin_enqueue_scriptsclasses\controllers\class.chart.php:39
actionpre_get_postsclasses\controllers\class.contact-data-list.php:37
actionadmin_enqueue_scriptsclasses\controllers\class.contact-data-list.php:38
actionadmin_print_stylesclasses\controllers\class.contact-data-list.php:39
actionin_admin_footerclasses\controllers\class.contact-data-list.php:40
filterwp_count_postsclasses\controllers\class.contact-data-list.php:41
actionadd_meta_boxesclasses\controllers\class.contact-data.php:53
actionadmin_enqueue_scriptsclasses\controllers\class.contact-data.php:54
actionadmin_print_stylesclasses\controllers\class.contact-data.php:55
actionedit_form_topclasses\controllers\class.contact-data.php:56
actionsave_postclasses\controllers\class.contact-data.php:57
filternocache_headersclasses\controllers\class.main.php:32
filternginxchampuru_caching_headersclasses\controllers\class.main.php:33
actionparse_requestclasses\controllers\class.main.php:35
actiontemplate_redirectclasses\controllers\class.main.php:36
actiontemplate_redirectclasses\controllers\class.main.php:37
actionmwform_after_exec_shortcodeclasses\deprecated.php:17
actionadmin_noticesclasses\functions.php:90
filterthe_contentclasses\functions.php:96
actionshutdownclasses\models\class.data.php:90
filterupload_mimesclasses\models\class.file.php:17
actionphpmailer_initclasses\models\class.mail.php:83
filterwp_mail_fromclasses\models\class.mail.php:84
filterwp_mail_from_nameclasses\models\class.mail.php:85
filtermwform_form_end_htmlclasses\services\class.exec-shortcode.php:45
actionwp_footerclasses\services\class.exec-shortcode.php:47
actionwp_footerclasses\services\class.exec-shortcode.php:78
actionwp_footerclasses\services\class.exec-shortcode.php:112
actionplugins_loadedmw-wp-form.php:34
actionplugins_loadedmw-wp-form.php:35
actionafter_setup_thememw-wp-form.php:68
actioninitmw-wp-form.php:69
actiontemplate_redirectmw-wp-form.php:70
actionadmin_enqueue_scriptsmw-wp-form.php:78
actionadmin_menumw-wp-form.php:79
actionadmin_menumw-wp-form.php:80
actioncurrent_screenmw-wp-form.php:81
Maintenance & Trust

MW WP Form Maintenance & Trust

Maintenance Signals

WordPress version tested6.4.8
Last updatedApr 8, 2026
PHP min version8.0
Downloads1.8M

Community Trust

Rating84/100
Number of ratings23
Active installs200K
Developer Profile

MW WP Form Developer Profile

Webの相談所

1 plugin · 200K total installs

75
trust score
Avg Security Score
82/100
Avg Patch Time
87 days
View full developer profile
Detection Fingerprints

How We Detect MW WP Form

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/mw-wp-form/css/admin-common.css

HTML / DOM Fingerprints

CSS Classes
mwf_inputmwf_labelmwf_form_wrapmwf_submitmwf_select
HTML Comments
MW WP Formcontact_data_post_types
Data Attributes
data-mwf-form-id
JS Globals
MW_WP_Form_Validator
REST Endpoints
/wp-json/mw-wp-form/
Shortcode Output
[mwform
FAQ

Frequently Asked Questions about MW WP Form