PgnViewerJS Security & Risk Analysis

wordpress.org/plugins/pgnviewerjs-wp

Integration of @mliebelt/pgn-viewer into WordPress (formarly named PGNViewerJS).

40 active installs v2.0.5 PHP + WP 4.6+ Updated Apr 26, 2025
chesspgn
92
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is PgnViewerJS Safe to Use in 2026?

Generally Safe

Score 92/100

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

No known CVEs Updated 1yr ago
Risk Assessment

The "pgnviewerjs-wp" v2.0.5 plugin exhibits a strong security posture based on the provided static analysis and vulnerability history. The code demonstrates excellent adherence to secure coding practices, with no dangerous functions identified, all SQL queries utilizing prepared statements, and all output properly escaped. The absence of file operations and external HTTP requests further reduces potential attack vectors. Crucially, the plugin has no recorded vulnerabilities, including critical or high-severity ones, and no history of unpatched CVEs. This suggests a well-maintained and secure codebase.

While the plugin's direct entry points (shortcodes) are not inherently problematic, the lack of specific capability checks or nonce checks on these shortcodes, combined with zero AJAX handlers and REST API routes, means that any potential vulnerabilities within the shortcode processing itself would not be protected by these standard WordPress security mechanisms. However, given the absence of known vulnerabilities and the clean code signals, this is currently a low-level concern. The overall security is good, but a focus on adding capability checks to shortcodes would further harden the plugin against potential future issues.

Key Concerns

  • No capability checks on shortcodes
  • No nonce checks on shortcodes
Vulnerabilities
None known

PgnViewerJS Security Vulnerabilities

No known vulnerabilities — this is a good sign.
Version History

PgnViewerJS Release Timeline

v2.0.5Current
v2.0.4
v2.0.3
v2.0.2
v2.0.1
v2.0.0
v1.5.13.1
v1.5.13
v1.1.5
v1.1.4
v1.1.3
v1.1.2
v1.1.1
v1.1.0
v0.9.8.2
v0.9.8.1
v0.9.8
v0.9.7.3
v0.9.7.2
v0.9.7.1
Code Analysis
Analyzed Mar 16, 2026

PgnViewerJS Code Analysis

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

Output Escaping

100% escaped3 total outputs
Attack Surface

PgnViewerJS Attack Surface

Entry Points4
Unprotected0

Shortcodes 4

[pgnv] pgnviewerjs.php:205
[pgnb] pgnviewerjs.php:219
[pgne] pgnviewerjs.php:220
[pgnp] pgnviewerjs.php:221
WordPress Hooks 5
actionplugins_loadedpgnviewerjs.php:20
actionwp_enqueue_scriptspgnviewerjs.php:48
actionenqueue_block_assetspgnviewerjs.php:260
actionenqueue_block_editor_assetspgnviewerjs.php:261
actioninitpgnviewerjs.php:272
Maintenance & Trust

PgnViewerJS Maintenance & Trust

Maintenance Signals

WordPress version tested6.8.5
Last updatedApr 26, 2025
PHP min version
Downloads6K

Community Trust

Rating0/100
Number of ratings0
Active installs40
Developer Profile

PgnViewerJS Developer Profile

mliebelt

2 plugins · 80 total installs

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

How We Detect PgnViewerJS

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/pgnviewerjs-wp/css/wp-pgnv.css/wp-content/plugins/pgnviewerjs-wp/css/pgnv_styles.css/wp-content/plugins/pgnviewerjs-wp/js/dist.js/wp-content/plugins/pgnviewerjs-wp/js/init.js
Script Paths
/wp-content/plugins/pgnviewerjs-wp/js/dist.js/wp-content/plugins/pgnviewerjs-wp/js/init.js
Version Parameters
pgnviewerjs-wp/css/wp-pgnv.css?ver=pgnviewerjs-wp/css/pgnv_styles.css?ver=pgnviewerjs-wp/js/dist.js?ver=pgnviewerjs-wp/js/init.js?ver=

HTML / DOM Fingerprints

CSS Classes
pgn-viewer-block-wrapper
Data Attributes
pgn-viewer/block-editor
JS Globals
initPGNV
Shortcode Output
[pgnv][pgne][pgnb][pgnp]
FAQ

Frequently Asked Questions about PgnViewerJS