WPZOOM Portfolio Lite – Filterable Portfolio Plugin Security & Risk Analysis

wordpress.org/plugins/wpzoom-portfolio

Portfolio plugin for WordPress. Create filterable portfolio grids with masonry layouts and lightbox. Ideal for photographers, designers, agencies.

20K active installs v1.4.20 PHP 7.4+ WP 6.5+ Updated Mar 8, 2026
galleryimage-galleryportfolioprojectsvideo-portfolio
99
A · Safe
CVEs total2
Unpatched0
Last CVEAug 30, 2024
Safety Verdict

Is WPZOOM Portfolio Lite – Filterable Portfolio Plugin Safe to Use in 2026?

Generally Safe

Score 99/100

WPZOOM Portfolio Lite – Filterable Portfolio Plugin has a strong security track record. Known vulnerabilities have been patched promptly.

2 known CVEsLast CVE: Aug 30, 2024Updated 25d ago
Risk Assessment

The static analysis of wpzoom-portfolio v1.4.20 reveals a generally strong security posture with excellent adherence to secure coding practices. The plugin demonstrates a complete absence of dangerous functions, utilizes prepared statements for all SQL queries, and exhibits a high rate of proper output escaping. Furthermore, the presence of nonce and capability checks on all identified entry points (AJAX handlers, REST API routes, shortcodes, and cron events) is commendable. The absence of any identified taint flows with unsanitized paths or critical/high severity issues further reinforces this positive assessment.

However, the plugin's vulnerability history presents a significant concern. With two previously disclosed medium severity vulnerabilities, both related to Cross-Site Scripting (XSS), and the most recent one being very recent (2024-08-30), this indicates a recurring pattern of input sanitization or output escaping weaknesses. While there are currently no unpatched CVEs, the history suggests that past vulnerabilities have required attention, and a close watch on future updates and disclosures is warranted. The attack surface is relatively small, and crucially, all entry points appear to be protected, which mitigates immediate risks from the identified entry points.

In conclusion, wpzoom-portfolio v1.4.20 exhibits strengths in its current implementation, particularly in its defensive coding practices for new vulnerabilities. The absence of readily apparent critical issues in static analysis is a positive sign. Nevertheless, the historical prevalence of medium-severity XSS vulnerabilities necessitates vigilance. Users should ensure they are on the latest version and be aware of the plugin's past security record. The lack of unpatched vulnerabilities in the history is a strong positive, but the pattern of past issues warrants a slightly reduced score for a balanced assessment.

Key Concerns

  • History of 2 medium severity CVEs (XSS)
  • Recent vulnerability (2024-08-30)
Vulnerabilities
2

WPZOOM Portfolio Lite – Filterable Portfolio Plugin Security Vulnerabilities

CVEs by Year

1 CVE in 2022
2022
1 CVE in 2024
2024
Patched Has unpatched

Severity Breakdown

Medium
2

2 total CVEs

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

WPZOOM Portfolio Lite – Filterable Portfolio Plugin <= 1.4.4 - Authenticated (Contributor+) Stored Cross-Site Scripting via align Attribute

Aug 30, 2024 Patched in 1.4.5 (1d)
CVE-2022-4789medium · 6.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

WPZOOM Portfolio <= 1.2.1 - Authenticated (Contributor+) Stored Cross-Site Scripting via Shortcode

Dec 28, 2022 Patched in 1.2.2 (391d)
Code Analysis
Analyzed Mar 16, 2026

WPZOOM Portfolio Lite – Filterable Portfolio Plugin Code Analysis

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

SQL Query Safety

100% prepared4 total queries

Output Escaping

95% escaped113 total outputs
Attack Surface

WPZOOM Portfolio Lite – Filterable Portfolio Plugin Attack Surface

Entry Points4
Unprotected0

AJAX Handlers 1

authwp_ajax_wpzoom_reset_settingsclasses\class-wpzoom-portfolio-settings-page.php:81

REST API Routes 1

GET/wp-json/wpzoom-blocks/v1/image-sizeswpzoom-portfolio.php:373

Shortcodes 2

[wpzoom_block_portfolio] classes\class-wpzoom-portfolio-shortcode.php:49
[wpzoom_portfolio_layout] classes\class-wpzoom-portfolio-shortcode.php:50
WordPress Hooks 44
actionadmin_menuclasses\class-wpzoom-portfolio-admin-menu.php:32
actionadmin_menuclasses\class-wpzoom-portfolio-admin-menu.php:35
actionadmin_headclasses\class-wpzoom-portfolio-admin-menu.php:37
actionadmin_footerclasses\class-wpzoom-portfolio-admin-menu.php:38
actionenqueue_block_assetsclasses\class-wpzoom-portfolio-assets-manager.php:51
actionenqueue_block_assetsclasses\class-wpzoom-portfolio-assets-manager.php:52
actionenqueue_block_editor_assetsclasses\class-wpzoom-portfolio-assets-manager.php:55
actioninitclasses\class-wpzoom-portfolio-custom-posts.php:55
actionrestrict_manage_postsclasses\class-wpzoom-portfolio-custom-posts.php:56
filterallowed_block_typesclasses\class-wpzoom-portfolio-custom-posts.php:59
filterallowed_block_types_allclasses\class-wpzoom-portfolio-custom-posts.php:61
filterdefault_contentclasses\class-wpzoom-portfolio-custom-posts.php:63
filtermanage_portfolio_layout_posts_columnsclasses\class-wpzoom-portfolio-custom-posts.php:66
actionmanage_portfolio_layout_posts_custom_columnclasses\class-wpzoom-portfolio-custom-posts.php:67
actionadmin_noticesclasses\class-wpzoom-portfolio-custom-posts.php:69
actionpre_get_postsclasses\class-wpzoom-portfolio-custom-posts.php:70
filterintermediate_image_sizes_advancedclasses\class-wpzoom-portfolio-custom-posts.php:265
actionadd_meta_boxesclasses\class-wpzoom-portfolio-metaboxes-upsell.php:24
actionadmin_enqueue_scriptsclasses\class-wpzoom-portfolio-metaboxes-upsell.php:25
actionadmin_initclasses\class-wpzoom-portfolio-settings-page.php:74
actionadmin_initclasses\class-wpzoom-portfolio-settings-page.php:75
actionadmin_enqueue_scriptsclasses\class-wpzoom-portfolio-settings-page.php:78
actionwpzoom_portfolio_admin_pageclasses\class-wpzoom-portfolio-settings-page.php:85
actionadmin_initclasses\class-wpzoom-portfolio-settings-page.php:86
filtertaxonomy_templateclasses\class-wpzoom-portfolio-template.php:49
actiondelete_fonts_folderclasses\class-wpzoom-wptt-webfont-loader.php:129
actioncurrent_screenclasses\featured-posts\class-wpzoom-portfolio-featured-posts.php:21
actionadmin_menuclasses\featured-posts\class-wpzoom-portfolio-featured-posts.php:22
filterwp_insert_post_dataclasses\featured-posts\class-wpzoom-portfolio-featured-posts.php:23
actionafter_switch_themeclasses\featured-posts\class-wpzoom-portfolio-featured-posts.php:55
actionswitch_themeclasses\featured-posts\class-wpzoom-portfolio-featured-posts.php:56
actionwpzoom_demo_theme_setup_optionsclasses\featured-posts\class-wpzoom-portfolio-featured-posts.php:57
actionadmin_enqueue_scriptsclasses\featured-posts\class-wpzoom-portfolio-featured-posts.php:269
actionadmin_print_footer_scriptsclasses\featured-posts\class-wpzoom-portfolio-featured-posts.php:270
actionpost_updatedclasses\featured-posts\class-wpzoom-portfolio-featured-posts.php:519
actioninitwpzoom-portfolio.php:46
filterblock_categories_allwpzoom-portfolio.php:147
actionenqueue_block_editor_assetswpzoom-portfolio.php:153
actionenqueue_block_assetswpzoom-portfolio.php:154
actionrest_api_initwpzoom-portfolio.php:157
actionwp_enqueue_scriptswpzoom-portfolio.php:160
actionplugin_loadedwpzoom-portfolio.php:531
actioninitwpzoom-portfolio.php:558
actioninitwpzoom-portfolio.php:559

Scheduled Events 1

delete_fonts_folder
Maintenance & Trust

WPZOOM Portfolio Lite – Filterable Portfolio Plugin Maintenance & Trust

Maintenance Signals

WordPress version tested7.0
Last updatedMar 8, 2026
PHP min version7.4
Downloads489K

Community Trust

Rating100/100
Number of ratings2
Active installs20K
Developer Profile

WPZOOM Portfolio Lite – Filterable Portfolio Plugin Developer Profile

WPZOOM

24 plugins · 337K total installs

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

How We Detect WPZOOM Portfolio Lite – Filterable Portfolio Plugin

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/wpzoom-portfolio/assets/js/editor-init-masonry.js/wp-content/plugins/wpzoom-portfolio/build/index.asset.php/wp-content/plugins/wpzoom-portfolio/build/style-index.css/wp-content/plugins/wpzoom-portfolio/build/index.js/wp-content/plugins/wpzoom-portfolio/build/editor.css
Script Paths
wpzoom-portfolio/assets/js/editor-init-masonry.jswpzoom-portfolio/build/index.js
Version Parameters
wpzoom-portfolio/style.css?ver=wpzoom-portfolio/assets/js/editor-init-masonry.js?ver=wpzoom-portfolio/build/index.js?ver=wpzoom-portfolio/build/editor.css?ver=wpzoom-portfolio/build/style-index.css?ver=

HTML / DOM Fingerprints

CSS Classes
wpzoom-blocks
Data Attributes
data-wpzoom-portfolio
JS Globals
wpzoomPortfolioBlock
Shortcode Output
[wpzoom_portfolio[/wpzoom_portfolio]
FAQ

Frequently Asked Questions about WPZOOM Portfolio Lite – Filterable Portfolio Plugin