JobBoardWP – Job Board Listings and Submissions Security & Risk Analysis

wordpress.org/plugins/jobboardwp

Add a modern job board to your website. Display job listings and allow employers to submit and manage jobs all from the front-end.

1K active installs v1.3.4 PHP 5.6+ WP 5.5+ Updated Feb 19, 2026
jobjob-boardjob-listingjob-managerjob-portal
94
A · Safe
CVEs total5
Unpatched0
Last CVENov 22, 2024
Safety Verdict

Is JobBoardWP – Job Board Listings and Submissions Safe to Use in 2026?

Generally Safe

Score 94/100

JobBoardWP – Job Board Listings and Submissions has a strong security track record. Known vulnerabilities have been patched promptly.

5 known CVEsLast CVE: Nov 22, 2024Updated 1mo ago
Risk Assessment

The JobBoardWP plugin v1.3.4 presents a mixed security posture. While the code generally demonstrates good practices with a high percentage of properly escaped outputs and prepared SQL statements, a significant concern arises from its attack surface. A substantial 13 out of 20 identified entry points, specifically AJAX handlers, lack authentication checks. This creates a wide potential avenue for attackers to interact with plugin functionalities without proper authorization, which is a critical oversight. The absence of any critical or high-severity taint flows is positive, indicating that the developers have likely addressed immediate code execution risks within the analyzed flows.

Key Concerns

  • Unprotected AJAX handlers
  • Several past critical vulnerabilities
  • Past vulnerabilities: Unrestricted Upload
  • Past vulnerabilities: Missing Authorization
  • Past vulnerabilities: XSS
Vulnerabilities
5

JobBoardWP – Job Board Listings and Submissions Security Vulnerabilities

CVEs by Year

1 CVE in 2021
2021
2 CVEs in 2022
2022
1 CVE in 2023
2023
1 CVE in 2024
2024
Patched Has unpatched

Severity Breakdown

Critical
1
Medium
4

5 total CVEs

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

JobBoardWP – Job Board Listings and Submissions <= 1.3.0 - Reflected Cross-Site Scripting

Nov 22, 2024 Patched in 1.3.1 (1d)
CVE-2023-23715medium · 6.5Missing Authorization

JobBoardWP <= 1.2.2 - Missing Authorization to Job Posting Manipulation

Jan 25, 2023 Patched in 1.2.3 (363d)
CVE-2022-4061critical · 9.8Unrestricted Upload of File with Dangerous Type

JobBoardWP <= 1.2.1 - Unauthenticated Arbitrary File Upload

Nov 28, 2022 Patched in 1.2.2 (421d)
WF-41d73ce6-a256-43ef-8627-c6f6d6635e3e-jobboardwpmedium · 5.5Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

JobBoardWP – Job Board Listings and Submissions <= 1.1.0 - Authenticated (Admin+) Stored Cross-Site Scripting

Jul 26, 2022 Patched in 1.2.0 (546d)
CVE-2021-39329medium · 5.5Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

JobBoardWP – Job Board Listings and Submissions <= 1.0.7 - Stored Cross-Site Scripting

Oct 15, 2021 Patched in 1.1.0 (829d)
Code Analysis
Analyzed Mar 16, 2026

JobBoardWP – Job Board Listings and Submissions Code Analysis

Dangerous Functions
0
Raw SQL Queries
2
7 prepared
Unescaped Output
9
982 escaped
Nonce Checks
23
Capability Checks
23
File Operations
9
External Requests
0
Bundled Libraries
1

Bundled Libraries

Select2

SQL Query Safety

78% prepared9 total queries

Output Escaping

99% escaped991 total outputs
Data Flows
All sanitized

Data Flow Analysis

8 flows
after_bulk_action_notice (includes\admin\class-columns.php:179)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
13 unprotected

JobBoardWP – Job Board Listings and Submissions Attack Surface

Entry Points20
Unprotected13

AJAX Handlers 13

authwp_ajax_jb_dismiss_noticeincludes\ajax\class-init.php:25
authwp_ajax_jb_get_pages_listincludes\ajax\class-init.php:26
authwp_ajax_jb-get-jobsincludes\ajax\class-init.php:28
noprivwp_ajax_jb-get-jobsincludes\ajax\class-init.php:29
authwp_ajax_jb-get-categoriesincludes\ajax\class-init.php:31
noprivwp_ajax_jb-get-categoriesincludes\ajax\class-init.php:32
authwp_ajax_jb-upload-company-logoincludes\ajax\class-init.php:34
noprivwp_ajax_jb-upload-company-logoincludes\ajax\class-init.php:35
authwp_ajax_jb-get-employer-jobsincludes\ajax\class-init.php:37
authwp_ajax_jb-delete-jobincludes\ajax\class-init.php:39
authwp_ajax_jb-fill-jobincludes\ajax\class-init.php:40
authwp_ajax_jb-unfill-jobincludes\ajax\class-init.php:41
authwp_ajax_jb-validate-job-dataincludes\ajax\class-init.php:43

Shortcodes 7

[jb_post_job] includes\frontend\class-shortcodes.php:24
[jb_job] includes\frontend\class-shortcodes.php:29
[jb_jobs] includes\frontend\class-shortcodes.php:30
[jb_jobs_dashboard] includes\frontend\class-shortcodes.php:31
[jb_job_categories_list] includes\frontend\class-shortcodes.php:32
[jb_recent_jobs] includes\frontend\class-shortcodes.php:34
[jb_company_details] includes\frontend\class-shortcodes.php:36
WordPress Hooks 171
actionadmin_initincludes\admin\class-actions-listener.php:21
actionload-job-board_page_jb-settingsincludes\admin\class-actions-listener.php:22
filterdisplay_post_statesincludes\admin\class-columns.php:24
actionrestrict_manage_postsincludes\admin\class-columns.php:26
filtermanage_edit-jb-job_columnsincludes\admin\class-columns.php:28
actionmanage_jb-job_posts_custom_columnincludes\admin\class-columns.php:29
filtermanage_edit-jb-job_sortable_columnsincludes\admin\class-columns.php:30
filterbulk_actions-edit-jb-jobincludes\admin\class-columns.php:31
filterhandle_bulk_actions-edit-jb-jobincludes\admin\class-columns.php:32
actionadmin_noticesincludes\admin\class-columns.php:34
filterviews_edit-jb-jobincludes\admin\class-columns.php:36
filterpost_row_actionsincludes\admin\class-columns.php:37
filterrequestincludes\admin\class-columns.php:39
actionparse_queryincludes\admin\class-columns.php:40
actionadmin_enqueue_scriptsincludes\admin\class-enqueue.php:31
actionadmin_enqueue_scriptsincludes\admin\class-enqueue.php:32
actionload-post.phpincludes\admin\class-enqueue.php:34
actionload-post-new.phpincludes\admin\class-enqueue.php:35
actionload-job-board_page_jb-settingsincludes\admin\class-enqueue.php:37
actionadmin_enqueue_scriptsincludes\admin\class-enqueue.php:44
actionadmin_enqueue_scriptsincludes\admin\class-enqueue.php:204
filtermce_buttonsincludes\admin\class-forms.php:610
actionafter_wp_tiny_mceincludes\admin\class-forms.php:612
actionplugins_loadedincludes\admin\class-init.php:32
actionadmin_initincludes\admin\class-init.php:33
actionadmin_menuincludes\admin\class-menu.php:28
filtersubmenu_fileincludes\admin\class-menu.php:29
filteradmin_body_classincludes\admin\class-menu.php:30
actioninitincludes\admin\class-menu.php:32
actionadmin_headincludes\admin\class-menu.php:33
filterparent_fileincludes\admin\class-menu.php:144
filterparent_fileincludes\admin\class-menu.php:149
filtersubmenu_fileincludes\admin\class-menu.php:152
actionload-post.phpincludes\admin\class-metabox.php:31
actionload-post-new.phpincludes\admin\class-metabox.php:32
actionjb-job-type_add_form_fieldsincludes\admin\class-metabox.php:34
actionjb-job-type_edit_form_fieldsincludes\admin\class-metabox.php:35
actioncreate_jb-job-typeincludes\admin\class-metabox.php:36
actionedited_jb-job-typeincludes\admin\class-metabox.php:37
actionadd_meta_boxesincludes\admin\class-metabox.php:113
actionsave_postincludes\admin\class-metabox.php:114
actionadmin_initincludes\admin\class-notices.php:30
actionadmin_noticesincludes\admin\class-notices.php:31
actioncurrent_screenincludes\admin\class-settings.php:42
actionadmin_initincludes\admin\class-settings.php:43
actionjb_before_settings_email__contentincludes\admin\class-settings.php:45
filterjb_section_fieldsincludes\admin\class-settings.php:46
actioninitincludes\admin\class-settings.php:48
actionadmin_initincludes\admin\class-settings.php:50
filterjb_change_settings_before_saveincludes\admin\class-settings.php:52
filterjb_settings_custom_subtabsincludes\admin\class-settings.php:54
filterjb_settings_section_modules__contentincludes\admin\class-settings.php:55
filterjb_settingsincludes\admin\class-settings.php:57
actionplugins_loadedincludes\admin\class-settings.php:60
filterjb_settings_custom_tabsincludes\admin\class-settings.php:61
filterjb_settings_section_override_templates__contentincludes\admin\class-settings.php:62
filterdebug_informationincludes\admin\class-site-health.php:23
actionadmin_initincludes\ajax\class-init.php:23
actionwp_loadedincludes\ajax\class-jobs.php:51
filterget_meta_sqlincludes\ajax\class-jobs.php:564
filterposts_searchincludes\ajax\class-jobs.php:565
filterposts_whereincludes\ajax\class-jobs.php:566
filterposts_search_orderbyincludes\ajax\class-jobs.php:568
actionwp_loadedincludes\class-jb.php:79
actioninitincludes\class-jb.php:89
actionplugins_loadedincludes\class-jb.php:95
actionwidgets_initincludes\class-jb.php:97
actionjb_core_loadedincludes\class-modules.php:28
actioninitincludes\common\class-blocks.php:23
filterallowed_block_types_allincludes\common\class-blocks.php:24
actioninitincludes\common\class-cpt.php:20
actioninitincludes\common\class-cpt.php:21
actionadmin_bar_menuincludes\common\class-cpt.php:23
actionadmin_bar_menuincludes\common\class-cpt.php:24
filterrequestincludes\common\class-cpt.php:26
actionjb_check_for_expired_jobsincludes\common\class-cron.php:23
actionjb_check_for_reminder_expired_jobsincludes\common\class-cron.php:24
actionjb_delete_old_previewsincludes\common\class-cron.php:25
actionjb_delete_temp_filesincludes\common\class-cron.php:26
filtercron_schedulesincludes\common\class-cron.php:29
actioninitincludes\common\class-enqueue.php:62
actionadmin_enqueue_scriptsincludes\common\class-enqueue.php:63
actionwp_enqueue_scriptsincludes\common\class-enqueue.php:64
filterjb_frontend_common_styles_depsincludes\common\class-enqueue.php:66
filterblock_categories_allincludes\common\class-enqueue.php:70
filterblock_categoriesincludes\common\class-enqueue.php:72
actionenqueue_block_assetsincludes\common\class-enqueue.php:78
actionjb_core_loadedincludes\common\class-init.php:23
actionplugins_loadedincludes\common\class-init.php:24
filterjb_template_locations_base_user_id_for_localeincludes\common\class-mail.php:109
actionwp_login_failedincludes\common\class-permalinks.php:24
filterauthenticateincludes\common\class-permalinks.php:25
filterwp_loadedincludes\common\class-rewrite.php:21
actionplugins_loadedincludes\common\class-rewrite.php:24
actionwp_loadedincludes\frontend\class-actions-listener.php:25
filterjb_job_submitted_dataincludes\frontend\class-actions-listener.php:26
actionset_logged_in_cookieincludes\frontend\class-actions-listener.php:270
actionset_logged_in_cookieincludes\frontend\class-actions-listener.php:372
actionwp_enqueue_scriptsincludes\frontend\class-enqueue.php:27
actionwp_enqueue_scriptsincludes\frontend\class-enqueue.php:28
actionwp_enqueue_scriptsincludes\frontend\class-enqueue.php:29
filtermce_buttonsincludes\frontend\class-forms.php:1130
actionafter_wp_tiny_mceincludes\frontend\class-forms.php:1132
actioninitincludes\frontend\class-jobs-directory.php:38
actionpre_get_postsincludes\frontend\class-jobs-directory.php:39
filterjb_forms_before_render_sectionincludes\frontend\class-shortcodes.php:25
filterlogin_form_middleincludes\frontend\class-shortcodes.php:27
filtersafe_style_cssincludes\frontend\class-shortcodes.php:74
filterjb_forms_move_form_tagincludes\frontend\class-shortcodes.php:258
filtersafe_style_cssincludes\frontend\class-shortcodes.php:794
actionwp_loadedincludes\frontend\class-templates.php:32
filtersingle_templateincludes\frontend\class-templates.php:37
filterarchive_templateincludes\frontend\class-templates.php:38
actionwp_footerincludes\frontend\class-templates.php:39
actionwp_enqueue_scriptsincludes\frontend\class-templates.php:51
filterthe_contentincludes\frontend\class-templates.php:53
filterthe_contentincludes\frontend\class-templates.php:54
filterget_block_templatesincludes\frontend\class-templates.php:182
filtertwentytwenty_disallowed_post_types_for_meta_outputincludes\frontend\class-templates.php:184
filtertemplate_includeincludes\frontend\class-templates.php:185
filterhas_post_thumbnailincludes\frontend\class-templates.php:186
filterrender_block_dataincludes\frontend\class-templates.php:206
actionwp_enqueue_scriptsincludes\frontend\class-templates.php:352
filterthe_contentincludes\frontend\class-templates.php:354
filterthe_contentincludes\frontend\class-templates.php:355
actionwp_headincludes\frontend\class-templates.php:387
filterthe_contentincludes\frontend\class-templates.php:388
filterpost_classincludes\frontend\class-templates.php:389
filterthe_titleincludes\frontend\class-templates.php:473
actionplugins_loadedincludes\integrations\class-init.php:22
filterjb_pre_template_locationsincludes\integrations\class-init.php:24
filterjb_get_predefined_page_idincludes\integrations\polylang\integration.php:33
filterjb_is_predefined_pageincludes\integrations\polylang\integration.php:73
filterjb_admin_settings_get_pages_listincludes\integrations\polylang\integration.php:205
filterjb_admin_settings_pages_list_valueincludes\integrations\polylang\integration.php:243
filterjb_common_js_variablesincludes\integrations\polylang\integration.php:254
actionjb_admin_init_localeincludes\integrations\polylang\integration.php:263
filterjb_email_templates_columnsincludes\integrations\polylang\integration.php:288
filterjb_emails_list_table_custom_column_contentincludes\integrations\polylang\integration.php:306
filterjb_pre_template_locations_common_locale_integrationincludes\integrations\polylang\integration.php:438
filterjb_settings_email_section_fieldsincludes\integrations\polylang\integration.php:465
filterjb_email_send_subjectincludes\integrations\polylang\integration.php:492
filterjb_save_email_templates_locationsincludes\integrations\polylang\integration.php:515
filterlocaleincludes\integrations\polylang\integration.php:531
actionjb_after_email_notification_sendingincludes\integrations\polylang\integration.php:533
actionjb_before_email_notification_sendingincludes\integrations\polylang\integration.php:546
filterjb_check_for_reminder_expired_jobs_job_idsincludes\integrations\polylang\integration.php:571
filterjb_get_predefined_page_idincludes\integrations\translatepress\integration.php:35
filterjb_common_js_variablesincludes\integrations\translatepress\integration.php:46
filterjb_pre_template_locations_common_locale_integrationincludes\integrations\translatepress\integration.php:82
filterjb_get_predefined_page_idincludes\integrations\weglot\integration.php:111
filterjb_common_js_variablesincludes\integrations\weglot\integration.php:125
filterjb_pre_template_locations_common_locale_integrationincludes\integrations\weglot\integration.php:161
filterjb_admin_jobs_listtable_columnsincludes\integrations\wpml\integration.php:30
filteradmin_body_classincludes\integrations\wpml\integration.php:45
filterjb_get_predefined_page_idincludes\integrations\wpml\integration.php:59
filterjb_is_predefined_pageincludes\integrations\wpml\integration.php:93
filterjb_admin_settings_get_pages_listincludes\integrations\wpml\integration.php:227
filterjb_admin_settings_pages_list_valueincludes\integrations\wpml\integration.php:267
filterjb_common_js_variablesincludes\integrations\wpml\integration.php:280
actionjb_admin_init_localeincludes\integrations\wpml\integration.php:289
filterjb_email_templates_columnsincludes\integrations\wpml\integration.php:314
filterjb_emails_list_table_custom_column_contentincludes\integrations\wpml\integration.php:341
filterjb_pre_template_locations_common_locale_integrationincludes\integrations\wpml\integration.php:484
filterjb_settings_email_section_fieldsincludes\integrations\wpml\integration.php:511
filterjb_email_send_subjectincludes\integrations\wpml\integration.php:539
filterjb_save_email_templates_locationsincludes\integrations\wpml\integration.php:565
filterlocaleincludes\integrations\wpml\integration.php:584
actionjb_after_email_notification_sendingincludes\integrations\wpml\integration.php:586
actionjb_before_email_notification_sendingincludes\integrations\wpml\integration.php:600
filterjb_check_for_reminder_expired_jobs_job_idsincludes\integrations\wpml\integration.php:631

Scheduled Events 4

jb_check_for_expired_jobs
jb_check_for_reminder_expired_jobs
jb_delete_old_previews
jb_delete_temp_files
Maintenance & Trust

JobBoardWP – Job Board Listings and Submissions Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedFeb 19, 2026
PHP min version5.6
Downloads46K

Community Trust

Rating100/100
Number of ratings10
Active installs1K
Developer Profile

JobBoardWP – Job Board Listings and Submissions Developer Profile

Ultimate Member

3 plugins · 202K total installs

69
trust score
Avg Security Score
85/100
Avg Patch Time
1086 days
View full developer profile
Detection Fingerprints

How We Detect JobBoardWP – Job Board Listings and Submissions

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/jobboardwp/assets/admin/css/modules.css/wp-content/plugins/jobboardwp/assets/admin/js/location_field.js/wp-content/plugins/jobboardwp/assets/admin/js/global.js/wp-content/plugins/jobboardwp/assets/common/libs/select2/js/select2.full.min.js/wp-content/plugins/jobboardwp/assets/common/libs/select2/css/select2.css/wp-content/plugins/jobboardwp/assets/common/helptip.css/wp-content/plugins/jobboardwp/assets/admin/css/common.css/wp-content/plugins/jobboardwp/assets/admin/css/forms.css+14 more
Script Paths
/wp-content/plugins/jobboardwp/assets/admin/js/modules.js/wp-content/plugins/jobboardwp/assets/admin/js/location_field.js/wp-content/plugins/jobboardwp/assets/admin/js/global.js/wp-content/plugins/jobboardwp/assets/common/libs/select2/js/select2.full.min.js/wp-content/plugins/jobboardwp/assets/common/helptip.js/wp-content/plugins/jobboardwp/assets/admin/js/forms.js+5 more
Version Parameters
jobboardwp/assets/admin/css/modules.css?ver=jobboardwp/assets/admin/js/location_field.js?ver=jobboardwp/assets/admin/js/global.js?ver=jobboardwp/assets/common/libs/select2/js/select2.full.min.js?ver=jobboardwp/assets/common/libs/select2/css/select2.css?ver=jobboardwp/assets/common/helptip.css?ver=jobboardwp/assets/admin/css/common.css?ver=jobboardwp/assets/admin/css/forms.css?ver=jobboardwp/assets/frontend/css/common.css?ver=jobboardwp/assets/frontend/css/jobs-widget.css?ver=jobboardwp/assets/frontend/css/job.css?ver=jobboardwp/assets/frontend/css/forms.css?ver=jobboardwp/assets/frontend/css/job-categories.css?ver=jobboardwp/assets/frontend/css/jobs-dashboard.css?ver=jobboardwp/assets/frontend/css/jobs.css?ver=jobboardwp/assets/frontend/js/job-categories.js?ver=jobboardwp/assets/frontend/js/dropdown.js?ver=jobboardwp/assets/frontend/js/jobs-dashboard.js?ver=jobboardwp/assets/frontend/js/global.js?ver=jobboardwp/assets/admin/js/forms.js?ver=jobboardwp/assets/admin/js/validation.js?ver=jobboardwp/assets/common/helptip.js?ver=

HTML / DOM Fingerprints

CSS Classes
jobboardwpjb-admin-modulesjb-location-fieldjb-globaljb-helptipjb-formsjb-validationjb-common+6 more
Data Attributes
data-jb-nonce
JS Globals
jb_location_varjb_admin_data
FAQ

Frequently Asked Questions about JobBoardWP – Job Board Listings and Submissions