WP Job Openings – Job Listing, Career Page and Recruitment Plugin Security & Risk Analysis

wordpress.org/plugins/wp-job-openings

WP Job Openings plugin is the most simple yet powerful plugin for setting up a job listing page for your WordPress website.

40K active installs v3.6.0 PHP 5.6+ WP 4.8+ Updated Feb 10, 2026
careers-pagejob-boardjob-listingjob-openingsjobs
99
A · Safe
CVEs total2
Unpatched0
Last CVEOct 3, 2023
Safety Verdict

Is WP Job Openings – Job Listing, Career Page and Recruitment Plugin Safe to Use in 2026?

Generally Safe

Score 99/100

WP Job Openings – Job Listing, Career Page and Recruitment Plugin has a strong security track record. Known vulnerabilities have been patched promptly.

2 known CVEsLast CVE: Oct 3, 2023Updated 1mo ago
Risk Assessment

The wp-job-openings plugin version 3.6.0 exhibits a mixed security posture. While it shows strengths in its handling of SQL queries and output escaping, with a high percentage of prepared statements and properly escaped outputs, there are significant concerns regarding its attack surface. A substantial number of AJAX handlers (12 out of 15) lack authentication checks, presenting a broad entry point for potential attackers. The presence of unsanitized path flows in the taint analysis, although not reaching critical or high severity, warrants attention as it could be a precursor to more serious vulnerabilities if combined with other weaknesses.

The plugin's vulnerability history indicates a pattern of past security issues, including medium and low severity CVEs, with common types being missing authorization and exposure of sensitive information. While there are no currently unpatched vulnerabilities, the historical trend suggests a need for continued vigilance and prompt patching of any future disclosed issues. The plugin's reliance on the Select2 library also introduces a potential risk if that library has known vulnerabilities and is not kept updated.

In conclusion, while the core code demonstrates good practices in data handling and output sanitization, the unprotected AJAX endpoints represent a significant weakness. The historical vulnerability data, coupled with the taint analysis findings, indicates that ongoing security attention and robust testing are crucial for this plugin.

Key Concerns

  • Unprotected AJAX handlers
  • Flows with unsanitized paths
  • Bundled library (Select2)
  • Past medium severity CVEs
  • Past low severity CVEs
Vulnerabilities
2

WP Job Openings – Job Listing, Career Page and Recruitment Plugin Security Vulnerabilities

CVEs by Year

2 CVEs in 2023
2023
Patched Has unpatched

Severity Breakdown

Medium
1
Low
1

2 total CVEs

CVE-2023-45061medium · 5.3Missing Authorization

WP Job Openings <= 3.4.1 - Missing Authorization

Oct 3, 2023 Patched in 3.4.2 (319d)
CVE-2023-4933low · 3.7Exposure of Sensitive Information to an Unauthorized Actor

WP Job Openings <= 3.4.2 - Information Exposure

Sep 25, 2023 Patched in 3.4.3 (120d)
Code Analysis
Analyzed Mar 16, 2026

WP Job Openings – Job Listing, Career Page and Recruitment Plugin Code Analysis

Dangerous Functions
0
Raw SQL Queries
3
6 prepared
Unescaped Output
72
686 escaped
Nonce Checks
5
Capability Checks
40
File Operations
9
External Requests
4
Bundled Libraries
1

Bundled Libraries

Select2

SQL Query Safety

67% prepared9 total queries

Output Escaping

91% escaped758 total outputs
Data Flows
4 unsanitized

Data Flow Analysis

11 flows4 with unsanitized paths
display_block_filter_form (inc\class-awsm-job-openings-block.php:92)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
12 unprotected

WP Job Openings – Job Listing, Career Page and Recruitment Plugin Attack Surface

Entry Points16
Unprotected12

AJAX Handlers 15

authwp_ajax_awsm_jobs_setupadmin\class-awsm-job-openings-info.php:20
authwp_ajax_settings_switchadmin\class-awsm-job-openings-settings.php:22
authwp_ajax_block_jobfilterinc\class-awsm-job-openings-block.php:13
noprivwp_ajax_block_jobfilterinc\class-awsm-job-openings-block.php:14
authwp_ajax_block_loadmoreinc\class-awsm-job-openings-block.php:15
noprivwp_ajax_block_loadmoreinc\class-awsm-job-openings-block.php:16
authwp_ajax_jobfilterinc\class-awsm-job-openings-filters.php:13
noprivwp_ajax_jobfilterinc\class-awsm-job-openings-filters.php:14
authwp_ajax_loadmoreinc\class-awsm-job-openings-filters.php:15
noprivwp_ajax_loadmoreinc\class-awsm-job-openings-filters.php:16
authwp_ajax_awsm_applicant_form_submissioninc\class-awsm-job-openings-form.php:32
noprivwp_ajax_awsm_applicant_form_submissioninc\class-awsm-job-openings-form.php:33
authwp_ajax_awsm_view_countwp-job-openings.php:94
noprivwp_ajax_awsm_view_countwp-job-openings.php:95
authwp_ajax_awsm_plugin_ratingwp-job-openings.php:230

Shortcodes 1

[awsmjobs] wp-job-openings.php:105
WordPress Hooks 99
actionadmin_initadmin\class-awsm-job-openings-info.php:14
actionadmin_headadmin\class-awsm-job-openings-info.php:15
actionin_admin_headeradmin\class-awsm-job-openings-info.php:16
actionadmin_menuadmin\class-awsm-job-openings-info.php:17
actionadmin_footeradmin\class-awsm-job-openings-info.php:18
actionadmin_footer-edit.phpadmin\class-awsm-job-openings-info.php:19
filteradmin_body_classadmin\class-awsm-job-openings-info.php:22
actionadd_meta_boxesadmin\class-awsm-job-openings-meta.php:13
actionadmin_menuadmin\class-awsm-job-openings-meta.php:14
actionplugins_loadedadmin\class-awsm-job-openings-meta.php:17
actionplugins_loadedadmin\class-awsm-job-openings-meta.php:19
actionadmin_menuadmin\class-awsm-job-openings-overview.php:19
actionadmin_initadmin\class-awsm-job-openings-overview.php:20
actionadmin_menuadmin\class-awsm-job-openings-settings.php:20
actionadmin_initadmin\class-awsm-job-openings-settings.php:21
actionbefore_awsm_settings_main_contentadmin\class-awsm-job-openings-settings.php:23
actionupdate_option_awsm_select_page_listingadmin\class-awsm-job-openings-settings.php:25
actionupdate_option_awsm_permalink_slugadmin\class-awsm-job-openings-settings.php:26
actionupdate_option_awsm_jobs_remove_permalink_front_baseadmin\class-awsm-job-openings-settings.php:27
actionupdate_option_awsm_jobs_disable_archive_pageadmin\class-awsm-job-openings-settings.php:28
actionupdate_option_awsm_hide_uploaded_filesadmin\class-awsm-job-openings-settings.php:29
actionupdate_option_awsm_jobs_filteradmin\class-awsm-job-openings-settings.php:30
actionupdate_option_awsm_jobs_remove_filtersadmin\class-awsm-job-openings-settings.php:31
actionupdate_option_awsm_jobs_make_specs_clickableadmin\class-awsm-job-openings-settings.php:32
actionupdate_option_awsm_jobs_email_digestadmin\class-awsm-job-openings-settings.php:33
actioninitblocks\class-awsm-job-guten-blocks.php:13
actionenqueue_block_assetsblocks\class-awsm-job-guten-blocks.php:14
actionawsm_block_filter_forminc\class-awsm-job-openings-block.php:12
actioninitinc\class-awsm-job-openings-core.php:11
actionpre_get_postsinc\class-awsm-job-openings-core.php:15
filterajax_query_attachments_argsinc\class-awsm-job-openings-core.php:16
filterpost_updated_messagesinc\class-awsm-job-openings-core.php:19
filterbulk_post_updated_messagesinc\class-awsm-job-openings-core.php:20
filterlogin_redirectinc\class-awsm-job-openings-core.php:22
filterwoocommerce_disable_admin_barinc\class-awsm-job-openings-core.php:25
filterwoocommerce_prevent_admin_accessinc\class-awsm-job-openings-core.php:26
actionawsm_filter_forminc\class-awsm-job-openings-filters.php:12
actionawsm_application_form_initinc\class-awsm-job-openings-form.php:27
actionawsm_application_form_field_initinc\class-awsm-job-openings-form.php:28
actionawsm_application_form_field_initinc\class-awsm-job-openings-form.php:29
actionawsm_job_application_submittinginc\class-awsm-job-openings-form.php:30
actionbefore_awsm_job_detailsinc\class-awsm-job-openings-form.php:31
filterwp_check_filetype_and_extinc\class-awsm-job-openings-form.php:35
actionadd_attachmentinc\class-awsm-job-openings-form.php:36
filterupload_dirinc\class-awsm-job-openings-form.php:520
actionawsm_application_form_noticesinc\class-awsm-job-openings-form.php:596
filterwp_mail_content_typeinc\class-awsm-job-openings-form.php:952
filterscript_loader_taginc\class-awsm-job-openings-form.php:1236
actionwp_enqueue_scriptsinc\class-awsm-job-openings-form.php:1727
actionwp_print_scriptsinc\class-awsm-job-openings-form.php:1728
actionawsm_jobs_notification_html_template_headinc\class-awsm-job-openings-mail-customizer.php:10
actionawsm_jobs_notification_html_template_footerinc\class-awsm-job-openings-mail-customizer.php:11
actionawsm_job_application_submittinginc\class-awsm-job-openings-third-party.php:38
actionbefore_awsm_jobs_listinginc\template-functions.php:410
actionbefore_awsm_jobs_single_contentinc\template-functions.php:417
actionbefore_awsm_jobs_single_contentinc\template-functions.php:424
actionupdate_option_awsm_jobs_filterinc\translation\class-awsm-job-openings-wpml.php:14
actionwp_dashboard_setupinc\widgets\class-awsm-job-openings-dashboard-widget.php:11
actionplugins_loadedwp-job-openings.php:83
actionafter_setup_themewp-job-openings.php:84
actioninitwp-job-openings.php:85
actionwp_headwp-job-openings.php:86
actionawsm_check_for_expired_jobswp-job-openings.php:87
actionawsm_jobs_email_digestwp-job-openings.php:88
actionawsm_job_application_submittedwp-job-openings.php:89
actionwp_loadedwp-job-openings.php:90
actionwp_enqueue_scriptswp-job-openings.php:91
actiontemplate_redirectwp-job-openings.php:92
actionwidgets_initwp-job-openings.php:93
actionwp_footerwp-job-openings.php:96
filterbody_classwp-job-openings.php:99
filterthe_contentwp-job-openings.php:100
filtersingle_templatewp-job-openings.php:101
filterarchive_templatewp-job-openings.php:102
filterwp_robotswp-job-openings.php:103
actiontransition_post_statuswp-job-openings.php:106
filterdisplay_post_stateswp-job-openings.php:107
actionadmin_enqueue_scriptswp-job-openings.php:223
actionadmin_headwp-job-openings.php:224
actionedit_form_topwp-job-openings.php:225
actionsave_postwp-job-openings.php:226
actionbefore_delete_postwp-job-openings.php:227
actionrestrict_manage_postswp-job-openings.php:228
actionbefore_awsm_job_settings_initwp-job-openings.php:229
actionadmin_noticeswp-job-openings.php:231
actionadmin_footer-post.phpwp-job-openings.php:233
actionadmin_footer-post-new.phpwp-job-openings.php:234
filtermanage_awsm_job_openings_posts_columnswp-job-openings.php:246
filtermanage_awsm_job_openings_posts_custom_columnwp-job-openings.php:247
filtermanage_awsm_job_application_posts_columnswp-job-openings.php:248
filtermanage_awsm_job_application_posts_custom_columnwp-job-openings.php:249
filterparse_querywp-job-openings.php:250
filtermonths_dropdown_resultswp-job-openings.php:251
filterviews_edit-awsm_job_openingswp-job-openings.php:252
filterviews_edit-awsm_job_applicationwp-job-openings.php:253
filterbulk_actions-edit-awsm_job_applicationwp-job-openings.php:254
filterpost_row_actionswp-job-openings.php:255
filterwp_mail_content_typewp-job-openings.php:736
actionsave_postwp-job-openings.php:1471

Scheduled Events 2

awsm_check_for_expired_jobs
awsm_jobs_email_digest
Maintenance & Trust

WP Job Openings – Job Listing, Career Page and Recruitment Plugin Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedFeb 10, 2026
PHP min version5.6
Downloads564K

Community Trust

Rating96/100
Number of ratings190
Active installs40K
Developer Profile

WP Job Openings – Job Listing, Career Page and Recruitment Plugin Developer Profile

awsm.in

7 plugins · 100K total installs

78
trust score
Avg Security Score
98/100
Avg Patch Time
115 days
View full developer profile
Detection Fingerprints

How We Detect WP Job Openings – Job Listing, Career Page and Recruitment Plugin

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/wp-job-openings/assets/css/frontend.css/wp-content/plugins/wp-job-openings/assets/css/font-awesome.min.css/wp-content/plugins/wp-job-openings/assets/css/job-details.css/wp-content/plugins/wp-job-openings/assets/css/main.css/wp-content/plugins/wp-job-openings/assets/css/plugins.css/wp-content/plugins/wp-job-openings/assets/js/frontend.js/wp-content/plugins/wp-job-openings/assets/js/job-listing.js/wp-content/plugins/wp-job-openings/assets/js/job-apply.js
Script Paths
/wp-content/plugins/wp-job-openings/assets/js/frontend.js/wp-content/plugins/wp-job-openings/assets/js/job-listing.js/wp-content/plugins/wp-job-openings/assets/js/job-apply.js
Version Parameters
wp-job-openings/assets/css/frontend.css?ver=wp-job-openings/assets/css/font-awesome.min.css?ver=wp-job-openings/assets/css/job-details.css?ver=wp-job-openings/assets/css/main.css?ver=wp-job-openings/assets/css/plugins.css?ver=wp-job-openings/assets/js/frontend.js?ver=wp-job-openings/assets/js/job-listing.js?ver=wp-job-openings/assets/js/job-apply.js?ver=

HTML / DOM Fingerprints

CSS Classes
awsm-job-openings-wrapawsm-job-listingsawsm-job-detailsawsm-job-apply-formawsm-job-listing-titleawsm-job-listing-companyawsm-job-listing-locationawsm-job-listing-salary+5 more
HTML Comments
<!-- AWsm Job Openings plugin is not activated. --><!-- AWsm Job Openings plugin template -->
Data Attributes
data-awsm-job-iddata-awsm-apply-nonce
JS Globals
awsm_jobs_ajax_object
REST Endpoints
/wp-json/awsm-jobs/v1/apply
Shortcode Output
[awsmjobs]
FAQ

Frequently Asked Questions about WP Job Openings – Job Listing, Career Page and Recruitment Plugin