
Scan WordPress installations for wp2shell vulnerabilities (CVE-2026-63030 + CVE-2026-60137). Identifies full RCE and SQL injection risks across multiple sites with severity classification and CSV reporting.
A read-only, non-destructive security audit tool that scans WordPress installations for the wp2shell vulnerability chain.
WP2Shell Scanner is a bash utility that recursively searches a directory tree for WordPress installations and checks whether each site is running a core version vulnerable to the wp2shell vulnerabilities (CVE-2026-63030 + CVE-2026-60137).
This tool is designed for system administrators and security teams to quickly identify WordPress instances that require urgent patching.
The scanner identifies WordPress installations by locating wp-includes/version.php files within the target directory and all subdirectories. For each installation found, it:
The tool detects three vulnerability severity levels:
Before using the scanner, make the script executable:
chmod +x wp2shell-scanner.sh
./wp2shell-scanner.sh /path/to/scan
Scans the specified directory and all subdirectories for WordPress installations, displaying results to console.
./wp2shell-scanner.sh /path/to/scan --csv report.csv
Performs the same scan but also saves results to report.csv for further analysis or integration with other tools.
# Scan entire web root
./wp2shell-scanner.sh /var/www
# Scan with CSV export
./wp2shell-scanner.sh /home/users --csv wordpress-audit.csv
# Scan web server directory with sudo (if needed for permission)
sudo ./wp2shell-scanner.sh /home
The tool displays results with color-coded status indicators:
Example:
Scanning for WordPress installs under: /var/www
----------------------------------------------------------------------
[!] VULNERABLE - FULL RCE /var/www/site1 -> WP 6.9.3 (patch to 6.9.5 or 7.0.2 immediately)
[!] VULNERABLE - SQLi only /var/www/site2 -> WP 6.8.4 (patch to 6.8.6; no full RCE chain on this branch)
[OK] /var/www/site3 -> WP 7.1.0
[?] /var/www/site4 -> could not determine version
----------------------------------------------------------------------
Scan complete.
Sites found: 4
Vulnerable (RCE): 1
Vulnerable (SQLi): 1
Safe: 1
Unknown: 1
When using --csv, a file is created with the following format:
path,version,status
"/var/www/site1",6.9.3,VULNERABLE (RCE)
"/var/www/site2",6.8.4,VULNERABLE (SQLi)
"/var/www/site3",7.1.0,SAFE
"/var/www/site4",unknown,UNKNOWN
This format is suitable for importing into spreadsheets, security dashboards, or automated remediation workflows.