WP Portfolio Gallery Security & Risk Analysis

wordpress.org/plugins/wp-portfolio-gallery

WP Portfolio Gallery is Awesome Filterable Portfolio Gallery type WordPress Plugin.

10 active installs v1.2.4 PHP 5.6+ WP 4.0+ Updated Aug 19, 2023
filterable-portfoliogallery-pluginportfolioportfolio-gallery
85
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is WP Portfolio Gallery Safe to Use in 2026?

Generally Safe

Score 85/100

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

No known CVEs Updated 2yr ago
Risk Assessment

The "wp-portfolio-gallery" plugin v1.2.4 exhibits a generally good security posture based on the provided static analysis and vulnerability history. The complete absence of known CVEs and unpatched vulnerabilities, along with robust nonce and capability checks for its AJAX handlers, are significant strengths. The plugin also demonstrates good practices by exclusively using prepared statements for SQL queries and avoiding file operations. However, the presence of two "flows with unsanitized paths" in the taint analysis, even without critical or high severity, warrants attention. While these flows are not currently categorized as critical, they represent potential avenues for injection attacks if not properly handled. The plugin's reliance on external HTTP requests, although not inherently insecure, is an area that could be monitored for potential risks introduced by the external services themselves.

Key Concerns

  • Flows with unsanitized paths found
  • External HTTP requests made
Vulnerabilities
None known

WP Portfolio Gallery Security Vulnerabilities

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

WP Portfolio Gallery Code Analysis

Dangerous Functions
0
Raw SQL Queries
0
0 prepared
Unescaped Output
68
240 escaped
Nonce Checks
13
Capability Checks
20
File Operations
0
External Requests
4
Bundled Libraries
0

Output Escaping

78% escaped308 total outputs
Data Flows
2 unsanitized

Data Flow Analysis

2 flows2 with unsanitized paths
notification_action (Inc\Classes\Notifications\Notifications.php:48)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

WP Portfolio Gallery Attack Surface

Entry Points6
Unprotected0

AJAX Handlers 6

authwp_ajax_jlt_wp_portfolio_deactivation_surveyInc\Classes\Feedback.php:29
authwp_ajax_jlt_wp_portfolio_notification_actionInc\Classes\Notifications\Notifications.php:40
authwp_ajax_jlt_wp_portfolio_subscribeInc\Classes\Notifications\Subscribe.php:26
authwp_ajax_jlt_wp_portfolio_allow_collectInc\Classes\Notifications\What_We_Collect.php:27
authwp_ajax_jlt_wp_portfolio_recommended_upgrade_pluginLibs\Recommended.php:43
authwp_ajax_jlt_wp_portfolio_recommended_activate_pluginLibs\Recommended.php:44
WordPress Hooks 56
actionplugins_loadedclass-wp-portfolio-gallery.php:48
filteradmin_body_classclass-wp-portfolio-gallery.php:50
actionadmin_enqueue_scriptsInc\Classes\Feedback.php:27
actionadmin_footerInc\Classes\Feedback.php:28
actionadmin_noticesInc\Classes\Notifications\Notifications.php:35
actionjlt_wp_portfolio_display_noticeInc\Classes\Notifications\Notifications.php:37
actionjlt_wp_portfolio_display_popupInc\Classes\Notifications\Notifications.php:38
actionjlt_wp_portfolio_sheet_promo_data_resetInc\Classes\Notifications\Upgrade_Notice.php:26
actionadmin_footerInc\Classes\Pro_Upgrade.php:47
actionwp_dashboard_setupInc\Classes\Pro_Upgrade.php:49
actioninitInc\Classes\WP_Fortfolio_Gallery.php:27
filterpost_updated_messagesInc\Classes\WP_Fortfolio_Gallery.php:28
actionadmin_initInc\Classes\WP_Fortfolio_Gallery.php:29
filtertemplate_includeInc\Classes\WP_Fortfolio_Gallery.php:30
actiontemplate_redirectInc\Classes\WP_Fortfolio_Gallery.php:31
actionadmin_menuInc\Classes\WP_Fortfolio_Gallery.php:34
actionadmin_initInc\Classes\WP_Fortfolio_Gallery.php:35
actionadmin_initInc\Classes\WP_Fortfolio_Gallery.php:36
actionsave_postInc\Classes\WP_Fortfolio_Gallery.php:163
actionwp_enqueue_scriptsLibs\Assets.php:25
filterinstall_plugins_table_api_args_featuredLibs\Featured.php:23
filterplugins_api_resultLibs\Featured.php:34
actionadmin_menuLibs\Recommended.php:42
actioninittrunk\inc\class-tgm-plugin-activation.php:265
actionadmin_menutrunk\inc\class-tgm-plugin-activation.php:414
actionadmin_headtrunk\inc\class-tgm-plugin-activation.php:415
filterinstall_plugin_complete_actionstrunk\inc\class-tgm-plugin-activation.php:418
filterupdate_plugin_complete_actionstrunk\inc\class-tgm-plugin-activation.php:419
actionadmin_noticestrunk\inc\class-tgm-plugin-activation.php:422
actionadmin_inittrunk\inc\class-tgm-plugin-activation.php:423
actionadmin_enqueue_scriptstrunk\inc\class-tgm-plugin-activation.php:424
actionload-plugins.phptrunk\inc\class-tgm-plugin-activation.php:429
actionswitch_themetrunk\inc\class-tgm-plugin-activation.php:432
actionswitch_themetrunk\inc\class-tgm-plugin-activation.php:435
actionadmin_inittrunk\inc\class-tgm-plugin-activation.php:440
actionswitch_themetrunk\inc\class-tgm-plugin-activation.php:445
filterupgrader_source_selectiontrunk\inc\class-tgm-plugin-activation.php:796
actionplugins_loadedtrunk\inc\class-tgm-plugin-activation.php:2019
filtertgmpa_table_data_itemstrunk\inc\class-tgm-plugin-activation.php:2143
filterupgrader_source_selectiontrunk\inc\class-tgm-plugin-activation.php:2884
actionadmin_inittrunk\inc\class-tgm-plugin-activation.php:3054
actionupgrader_process_completetrunk\inc\class-tgm-plugin-activation.php:3149
filterupgrader_post_installtrunk\inc\class-tgm-plugin-activation.php:3208
filterupgrader_post_installtrunk\inc\class-tgm-plugin-activation.php:3353
actiontgmpa_registertrunk\inc\easy-blocks.php:16
actioninittrunk\index.php:98
filterpost_updated_messagestrunk\index.php:118
actionadmin_inittrunk\index.php:124
actionsave_posttrunk\index.php:132
actioninittrunk\index.php:256
filtertemplate_includetrunk\index.php:259
actioninittrunk\index.php:296
actionadmin_menutrunk\index.php:301
actionadmin_inittrunk\index.php:302
actiontemplate_redirecttrunk\index.php:376
actionadmin_inittrunk\index.php:417
Maintenance & Trust

WP Portfolio Gallery Maintenance & Trust

Maintenance Signals

WordPress version tested6.3.8
Last updatedAug 19, 2023
PHP min version5.6
Downloads9K

Community Trust

Rating60/100
Number of ratings1
Active installs10
Developer Profile

WP Portfolio Gallery Developer Profile

Liton Arefin

45 plugins · 43K total installs

83
trust score
Avg Security Score
93/100
Avg Patch Time
63 days
View full developer profile
Detection Fingerprints

How We Detect WP Portfolio Gallery

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/wp-portfolio-gallery/css/style.css/wp-content/plugins/wp-portfolio-gallery/css/prettyPhoto.css/wp-content/plugins/wp-portfolio-gallery/css/isotope.css/wp-content/plugins/wp-portfolio-gallery/js/jquery.prettyPhoto.js/wp-content/plugins/wp-portfolio-gallery/js/jquery.isotope.min.js/wp-content/plugins/wp-portfolio-gallery/js/jquery.easing.1.3.js/wp-content/plugins/wp-portfolio-gallery/js/jquery.quicksand.js/wp-content/plugins/wp-portfolio-gallery/js/script.js+2 more
Version Parameters
wp-portfolio-gallery/css/style.css?ver=wp-portfolio-gallery/css/prettyPhoto.css?ver=wp-portfolio-gallery/css/isotope.css?ver=wp-portfolio-gallery/js/jquery.prettyPhoto.js?ver=wp-portfolio-gallery/js/jquery.isotope.min.js?ver=wp-portfolio-gallery/js/jquery.easing.1.3.js?ver=wp-portfolio-gallery/js/jquery.quicksand.js?ver=wp-portfolio-gallery/js/script.js?ver=wp-portfolio-gallery/inc/easy-blocks/easy-blocks.js?ver=wp-portfolio-gallery/inc/easy-blocks/style.css?ver=

HTML / DOM Fingerprints

CSS Classes
portfolio_meta_controlisotope-item
Data Attributes
data-filter
JS Globals
jeweltheme_portfolio_options
FAQ

Frequently Asked Questions about WP Portfolio Gallery