Conditional Fields for Contact Form 7 Security & Risk Analysis

wordpress.org/plugins/cf7-conditional-fields

Adds conditional logic to Contact Form 7.

100K active installs v2.6.8 PHP 7.0+ WP 5.0+ Updated Feb 8, 2026
conditional-fieldsconditional-logiccontact-form-7formforms
97
A · Safe
CVEs total4
Unpatched0
Last CVEOct 24, 2024
Safety Verdict

Is Conditional Fields for Contact Form 7 Safe to Use in 2026?

Generally Safe

Score 97/100

Conditional Fields for Contact Form 7 has a strong security track record. Known vulnerabilities have been patched promptly.

4 known CVEsLast CVE: Oct 24, 2024Updated 1mo ago
Risk Assessment

The plugin "cf7-conditional-fields" v2.6.8 exhibits a mixed security posture. While it demonstrates good practices in areas like SQL query sanitization and a lack of external HTTP requests, significant concerns arise from its attack surface and output escaping. The presence of two AJAX handlers without authentication checks represents a direct entry point for potential unauthorized actions or data manipulation. Furthermore, a low percentage of properly escaped output suggests a heightened risk of Cross-Site Scripting (XSS) vulnerabilities, allowing attackers to inject malicious scripts into user interfaces.

The vulnerability history, with four known medium-severity CVEs, including XSS, CSRF, and missing authorization, strongly indicates recurring security weaknesses. The fact that the last vulnerability was very recent (October 2024) and there are currently no unpatched CVEs is a positive sign, suggesting active maintenance. However, the pattern of past vulnerabilities, particularly those related to authorization and input sanitization, aligns with the findings from the static analysis, pointing to areas that require ongoing vigilance and improvement. The taint analysis revealing unsanitized paths, although not critical or high severity in this instance, further supports the concern regarding input handling.

In conclusion, while the plugin has some robust security implementations, the unprotected AJAX endpoints and the low rate of output escaping are critical weaknesses that expose users to significant risks. The historical vulnerability data reinforces these concerns, highlighting a need for more rigorous input validation and output sanitization to prevent common web attack vectors. The plugin's maintenance and lack of current unpatched vulnerabilities are positive, but the underlying code quality in certain areas needs attention to improve its overall security.

Key Concerns

  • Unprotected AJAX handlers
  • Low percentage of properly escaped output
  • Flows with unsanitized paths
  • Past vulnerabilities (4 medium CVEs)
Vulnerabilities
4

Conditional Fields for Contact Form 7 Security Vulnerabilities

CVEs by Year

2 CVEs in 2023
2023
2 CVEs in 2024
2024
Patched Has unpatched

Severity Breakdown

Medium
4

4 total CVEs

CVE-2024-50412medium · 4.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Conditional Fields for Contact Form 7 <= 2.4.15 - Authenticated (Editor+) Stored Cross-Site Scripting

Oct 24, 2024 Patched in 2.5 (8d)
CVE-2024-5804medium · 4.3Cross-Site Request Forgery (CSRF)

Conditional Fields for Contact Form 7 <= 2.4.13 - Cross-Site Request Forgery to Plugin Setting Reset

Jul 19, 2024 Patched in 2.4.14 (1d)
CVE-2023-47838medium · 4.3Missing Authorization

Conditional Fields for Contact Form 7 <= 2.4.1 - Missing Authorization

Nov 16, 2023 Patched in 2.4.2 (68d)

Conditional Fields for Contact Form 7 <= 2.4.0 - Missing Authorization

Nov 14, 2023 Patched in 2.4.1 (70d)
Code Analysis
Analyzed Mar 16, 2026

Conditional Fields for Contact Form 7 Code Analysis

Dangerous Functions
0
Raw SQL Queries
0
0 prepared
Unescaped Output
49
24 escaped
Nonce Checks
2
Capability Checks
5
File Operations
0
External Requests
0
Bundled Libraries
0

Output Escaping

33% escaped73 total outputs
Data Flows
1 unsanitized

Data Flow Analysis

2 flows1 with unsanitized paths
wpcf7cf_editor_panel_conditional (admin.php:82)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
2 unprotected

Conditional Fields for Contact Form 7 Attack Surface

Entry Points3
Unprotected2

AJAX Handlers 3

authwp_ajax_cf7mls_validationcf7cf.php:16
noprivwp_ajax_cf7mls_validationcf7cf.php:17
authwp_ajax_wpcf7cf_dismiss_noticewpcf7cf-options.php:300
WordPress Hooks 26
actionadmin_enqueue_scriptsadmin.php:3
actioncf7sg_enqueue_admin_editor_scriptsadmin.php:18
filterwpcf7_editor_panelsadmin.php:26
actionwpcf7_after_saveadmin.php:141
filterwpcf7_copyadmin.php:166
actionwpcf7_after_saveadmin.php:178
actionadmin_noticesadmin.php:210
filterwpcf7_posted_datacf7cf.php:13
filterwpcf7_validatecf7cf.php:19
filterwpcf7_validate_file*cf7cf.php:21
filterwpcf7_validate_multifile*cf7cf.php:22
filterwpcf7_acceptancecf7cf.php:25
actionwpcf7_config_validator_validatecf7cf.php:31
actionwpcf7_before_send_mailcf7cf.php:33
filterwpcf7_contact_form_propertiescf7cf.php:400
filterwpcf7_form_hidden_fieldscf7cf.php:455
filterwpcf7_form_tag_data_optioncf7cf.php:487
actionwp_enqueue_scriptscf7cf.php:504
filterwpcf7_feedback_responsecf7cf.php:534
actionadmin_noticesconditional-fields.php:33
actionwpcf7_inittg_pane_group.php:8
filterwpcf7_validate_grouptg_pane_group.php:27
actionwpcf7_admin_inittg_pane_group.php:37
actionadmin_enqueue_scriptswpcf7cf-options.php:74
actionadmin_menuwpcf7cf-options.php:81
actionadmin_initwpcf7cf-options.php:286
Maintenance & Trust

Conditional Fields for Contact Form 7 Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedFeb 8, 2026
PHP min version7.0
Downloads6.4M

Community Trust

Rating96/100
Number of ratings164
Active installs100K
Developer Profile

Conditional Fields for Contact Form 7 Developer Profile

Jules Colle

3 plugins · 105K total installs

76
trust score
Avg Security Score
95/100
Avg Patch Time
125 days
View full developer profile
Detection Fingerprints

How We Detect Conditional Fields for Contact Form 7

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/cf7-conditional-fields/js/scripts_admin_all_pages.js/wp-content/plugins/cf7-conditional-fields/js/scripts_admin.js
Script Paths
js/scripts_admin_all_pages.jsjs/scripts_admin.js
Version Parameters
wpcf7cf-scripts-admin-all-pages?ver=wpcf7cf-scripts-admin?ver=

HTML / DOM Fingerprints

CSS Classes
wpcf7cf-inner-containerwpcf7cf-switchwpcf7cf-text-only-switchwpcf7cf-text-only-checkboxwpcf7cf-add-buttonwpcf7cf-noticewpcf7cf-notice-warningwpcf7cf-switch-to-txt-link+2 more
Data Attributes
id="wpcf7cf-text-only-switch"id="wpcf7cf-text-only-checkbox"id="wpcf7cf-entries-ui"id="wpcf7cf-entries"id="wpcf7cf-add-button"id="wpcf7cf-a-lot-of-conditions"+2 more
JS Globals
wpcf7cf_options_0wpcf7cf_newEntryHTML
Shortcode Output
<option value="-1"<option value="<?php echo htmlentities($option) ?>"
FAQ

Frequently Asked Questions about Conditional Fields for Contact Form 7