WPTerm Security & Risk Analysis

wordpress.org/plugins/wpterm

An xterm-like plugin to run non-interactive shell commands.

3K active installs v1.2 PHP 5.3+ WP 3.3.0+ Updated Nov 29, 2025
bashcommandshellterminalxterm
100
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is WPTerm Safe to Use in 2026?

Generally Safe

Score 100/100

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

No known CVEs Updated 4mo ago
Risk Assessment

The wpterm plugin v1.2 exhibits a mixed security posture. On the positive side, it demonstrates strong practices by utilizing prepared statements for all SQL queries and implementing capability checks for most entry points, with no known CVEs historically. This indicates a developer who is aware of common WordPress security pitfalls.

However, significant concerns arise from the static analysis. The presence of five dangerous functions (shell_exec, system, passthru, popen, exec) is a critical red flag, as these can be leveraged for remote code execution if user-supplied input is not meticulously sanitized. Compounding this is the taint analysis, which revealed two critical severity flows with unsanitized paths. This strongly suggests that external input can be used to influence command execution in a dangerous way. Furthermore, a low rate of proper output escaping (31%) increases the risk of cross-site scripting (XSS) vulnerabilities.

In conclusion, while the lack of historical vulnerabilities and good SQL practices are strengths, the identified dangerous functions combined with critical unsanitized taint flows create a high-risk profile for this plugin. The potential for remote code execution and XSS needs immediate attention and remediation.

Key Concerns

  • Critical taint flows with unsanitized paths
  • Presence of dangerous functions (shell_exec, system, etc.)
  • Low percentage of properly escaped output
  • File operations detected
Vulnerabilities
None known

WPTerm Security Vulnerabilities

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

WPTerm Code Analysis

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

Dangerous Functions Found

shell_exec$res = shell_exec( $command );wpterm.php:1033
systemsystem( $command, $ret_var );wpterm.php:1037
passthrupassthru( $command, $ret_var );wpterm.php:1043
popenif ( ( $handle = popen( $command , 'r' ) ) !== false ) {wpterm.php:1048
execif ( exec( $command, $res, $ret_var ) ) {wpterm.php:1056

Output Escaping

31% escaped52 total outputs
Data Flows
2 unsanitized

Data Flow Analysis

2 flows2 with unsanitized paths
wptermajax_callback (wpterm.php:960)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

WPTerm Attack Surface

Entry Points1
Unprotected0

AJAX Handlers 1

authwp_ajax_wptermajaxwpterm.php:958
WordPress Hooks 5
actionadmin_initwpterm.php:65
actionadmin_footerwpterm.php:140
actionadmin_menuwpterm.php:169
filterpre_http_requestwpterm.php:1165
filtersite_status_testswpterm.php:1188
Maintenance & Trust

WPTerm Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedNov 29, 2025
PHP min version5.3
Downloads61K

Community Trust

Rating100/100
Number of ratings14
Active installs3K
Developer Profile

WPTerm Developer Profile

bruandet

3 plugins · 11K total installs

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

How We Detect WPTerm

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/wpterm/wpterm-terminal.js/wp-content/plugins/wpterm/wpterm.js/wp-content/plugins/wpterm/wpterm.css
Script Paths
wpterm-terminal.jswpterm.js
Version Parameters
wpterm/wpterm.css?ver=wpterm/wpterm.js?ver=wpterm/wpterm-terminal.js?ver=

HTML / DOM Fingerprints

CSS Classes
wpterm-titlewpterm-input
HTML Comments
<!-- WPTerm Plugin --><!-- WPTerm Plugin - Generated by Jerome Bruandet -->
Data Attributes
data-wpterm-dirdata-wpterm-path
JS Globals
wpterm_optionswpterm_passwordwpterm_path
Shortcode Output
<div class='wpterm-prompt'><span class='wpterm-user'><span class='wpterm-cwd'><span class='wpterm-prompt-char'>
FAQ

Frequently Asked Questions about WPTerm