Petitioner Security & Risk Analysis

wordpress.org/plugins/petitioner

Create, target, and track high-impact petitions with Petitioner: automate delivery to decision-makers, manage approvals, and export rich submission da …

100 active installs v0.8.0 PHP 8.0+ WP 5.9+ Updated Feb 25, 2026
activismcommunityemailformpetition
100
A · Safe
CVEs total0
Unpatched0
Last CVENever
Download
Safety Verdict

Is Petitioner Safe to Use in 2026?

Generally Safe

Score 100/100

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

No known CVEs Updated 1mo ago
Risk Assessment

The "petitioner" v0.8.0 plugin exhibits a mixed security posture. On the positive side, it demonstrates good practices by utilizing prepared statements for all SQL queries and has a high percentage of properly escaped output. The absence of known CVEs and a clean vulnerability history are also strong indicators of responsible development. However, a significant concern lies in its attack surface. With 15 unprotected AJAX handlers, this presents a considerable risk for attackers to potentially exploit without proper authentication or authorization mechanisms. While taint analysis shows no current critical or high-severity flows, the sheer number of unprotected entry points leaves it susceptible to future discovery of vulnerabilities. The plugin's strengths in SQL handling and output escaping are commendable, but the lack of security checks on its AJAX endpoints significantly undermines its overall security.

Key Concerns

  • Unprotected AJAX handlers
  • Large attack surface without auth checks
Vulnerabilities
None known

Petitioner Security Vulnerabilities

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

Petitioner Code Analysis

Dangerous Functions
0
Raw SQL Queries
0
11 prepared
Unescaped Output
27
163 escaped
Nonce Checks
5
Capability Checks
4
File Operations
1
External Requests
2
Bundled Libraries
0

SQL Query Safety

100% prepared11 total queries

Output Escaping

86% escaped190 total outputs
Attack Surface
15 unprotected

Petitioner Attack Surface

Entry Points21
Unprotected15

AJAX Handlers 15

authwp_ajax_petitioner_form_submitinc\class-setup.php:77
noprivwp_ajax_petitioner_form_submitinc\class-setup.php:78
authwp_ajax_petitioner_fetch_submissionsinc\class-setup.php:79
authwp_ajax_petitioner_get_submissionsinc\class-setup.php:80
noprivwp_ajax_petitioner_get_submissionsinc\class-setup.php:81
authwp_ajax_petitioner_change_statusinc\class-setup.php:82
authwp_ajax_petitioner_resend_confirmation_emailinc\class-setup.php:83
authwp_ajax_petitioner_resend_all_confirmation_emailsinc\class-setup.php:84
authwp_ajax_petitioner_check_unconfirmed_countinc\class-setup.php:85
authwp_ajax_petitioner_update_submissioninc\class-setup.php:86
authwp_ajax_petitioner_delete_submissioninc\class-setup.php:87
authwp_ajax_petitioner_get_submission_countinc\class-setup.php:88
authwp_ajax_petitioner_get_nonceinc\class-setup.php:89
noprivwp_ajax_petitioner_get_nonceinc\class-setup.php:90
authwp_ajax_petitioner_get_csv_exampleinc\class-setup.php:91

Shortcodes 6

[petitioner-form] inc\frontend\class-shortcodes.php:14
[petitioner-goal] inc\frontend\class-shortcodes.php:15
[petitioner-submission-count] inc\frontend\class-shortcodes.php:16
[petitioner-goal-progress-ui] inc\frontend\class-shortcodes.php:17
[petitioner-letter-modal-ui] inc\frontend\class-shortcodes.php:18
[petitioner-submissions] inc\frontend\class-shortcodes.php:19
WordPress Hooks 30
actionadmin_menuinc\admin-ui\class-admin-component-preview-ui.php:17
actionadd_meta_boxesinc\admin-ui\class-admin-edit-ui.php:47
actionsave_post_petitioner-petitioninc\admin-ui\class-admin-edit-ui.php:48
filterget_sample_permalink_htmlinc\admin-ui\class-admin-edit-ui.php:49
filterpost_row_actionsinc\admin-ui\class-admin-edit-ui.php:50
actionadmin_menuinc\admin-ui\class-admin-settings-ui.php:45
actionadmin_initinc\admin-ui\class-admin-settings-ui.php:46
actionadmin_headinc\admin-ui\class-admin-settings-ui.php:52
actionadmin_enqueue_scriptsinc\admin-ui\class-admin-settings-ui.php:66
actionav_petitioner_info_settingsinc\admin-ui\class-admin-shared.php:14
actionav_petitioner_info_editinc\admin-ui\class-admin-shared.php:15
actionplugins_loadedinc\class-setup.php:14
actionadmin_enqueue_scriptsinc\class-setup.php:16
actionwp_enqueue_scriptsinc\class-setup.php:17
filterwp_script_attributesinc\class-setup.php:19
actioninitinc\class-setup.php:27
actionadmin_post_petitioner_export_csvinc\class-setup.php:93
actioninitinc\emails\class-email-confirmations.php:17
actionwp_enqueue_scriptsinc\integrations\class-captcha.php:11
filterav_petitioner_labels_defaultsinc\integrations\class-captcha.php:13
filterav_petitioner_form_fieldsinc\integrations\class-form-migrator.php:16
filterav_petitioner_form_fields_admininc\integrations\class-form-migrator.php:17
actionav_petitioner_labels_defaultsinc\labels\class-label-overrides.php:21
filterav_petitioner_submission_data_pre_saveinc\submissions\class-custom-properties.php:24
filterav_petitioner_get_form_submissions_resultinc\submissions\class-custom-properties.php:29
filterav_petitioner_submission_data_pre_updateinc\submissions\class-custom-properties.php:34
filterav_petitioner_get_form_labelsinc\submissions\class-custom-properties.php:39
filterav_petitioner_get_csv_column_headersinc\submissions\class-custom-properties.php:44
filterav_petitioner_get_csv_rowinc\submissions\class-custom-properties.php:45
filterav_petitioner_available_fields_shortcodeinc\submissions\class-custom-properties.php:50
Maintenance & Trust

Petitioner Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedFeb 25, 2026
PHP min version8.0
Downloads5K

Community Trust

Rating96/100
Number of ratings5
Active installs100
Developer Profile

Petitioner Developer Profile

Anton Voytenko

1 plugin · 100 total installs

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

How We Detect Petitioner

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/petitioner/inc/frontend/js/petition-form.js/wp-content/plugins/petitioner/inc/frontend/css/petition-form.css/wp-content/plugins/petitioner/inc/admin-ui/css/admin-styles.css
Script Paths
/wp-content/plugins/petitioner/inc/frontend/js/petition-form.js
Version Parameters
petitioner/inc/frontend/js/petition-form.js?ver=petitioner/inc/frontend/css/petition-form.css?ver=petitioner/inc/admin-ui/css/admin-styles.css?ver=

HTML / DOM Fingerprints

CSS Classes
petitioner-form-wrapperpetitioner-submit-buttonpetitioner-form-fieldpetitioner-petition-settingspetitioner-color-fieldpetitionerCode
Data Attributes
data-petition-id
JS Globals
petitioner_form_params
Shortcode Output
[petitioner-form
FAQ

Frequently Asked Questions about Petitioner