WP Post Import Security & Risk Analysis

wordpress.org/plugins/wp-post-import

Adds ability to insert and updates posts or any custom post.

10 active installs v1.0 PHP 5.5.4+ WP 4.8+ Updated Apr 14, 2022
wordpress-csv-importwordpress-xlsx-importwp-post-importxlsxlsx
85
A · Safe
CVEs total0
Unpatched0
Last CVENever
Download
Safety Verdict

Is WP Post Import Safe to Use in 2026?

Generally Safe

Score 85/100

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

No known CVEs Updated 4yr ago
Risk Assessment

The wp-post-import v1.0 plugin exhibits a mixed security posture. On the positive side, its vulnerability history is clean, with no recorded CVEs, suggesting good past security practices or limited exposure. The static analysis also indicates strong SQL hygiene, with all queries using prepared statements, and a very high rate of output escaping. Furthermore, the attack surface is relatively small, with only two AJAX entry points and no exposed REST API routes, shortcodes, or cron events.

However, there are significant concerns that temper this otherwise positive outlook. The presence of 11 dangerous function calls, particularly `unserialize`, without further context on how it's used, raises a red flag. If `unserialize` is used on user-supplied input, it could lead to Remote Code Execution (RCE) vulnerabilities. The complete absence of capability checks for its two AJAX handlers is a critical oversight. This means that any user, regardless of their role, could potentially trigger these handlers, leading to unauthorized actions or data manipulation. While taint analysis found no immediate issues, the presence of `unserialize` and the lack of capability checks for entry points create a significant latent risk.

In conclusion, while the plugin has a clean history and good practices in SQL and output escaping, the lack of capability checks on its AJAX handlers and the potential risk associated with `unserialize` are serious weaknesses. These issues, if exploited, could compromise the integrity and security of a WordPress site. The absence of capability checks on entry points is a fundamental security flaw that needs immediate attention.

Key Concerns

  • AJAX handlers lack capability checks
  • Dangerous function 'unserialize' used
  • Bundled libraries may be outdated
Vulnerabilities
None known

WP Post Import Security Vulnerabilities

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

WP Post Import Release Timeline

No version history available.
Code Analysis
Analyzed Mar 16, 2026

WP Post Import Code Analysis

Dangerous Functions
11
Raw SQL Queries
0
15 prepared
Unescaped Output
8
84 escaped
Nonce Checks
2
Capability Checks
0
File Operations
105
External Requests
0
Bundled Libraries
2

Dangerous Functions Found

unserialize$this->currentObject = unserialize($obj);Classes\PHPExcel\CachedObjectStorage\APC.php:152
unserialize$this->currentObject = unserialize(fread($this->fileHandle, $this->cellCache[$pCoord]['sz']));Classes\PHPExcel\CachedObjectStorage\DiscISAM.php:118
unserialize$this->currentObject = unserialize($obj);Classes\PHPExcel\CachedObjectStorage\Memcache.php:156
unserialize$this->currentObject = unserialize(gzinflate($this->cellCache[$pCoord]));Classes\PHPExcel\CachedObjectStorage\MemoryGZip.php:93
unserialize$this->currentObject = unserialize($this->cellCache[$pCoord]);Classes\PHPExcel\CachedObjectStorage\MemorySerialized.php:91
unserialize$this->currentObject = unserialize(fread($this->fileHandle, $this->cellCache[$pCoord]['sz']));Classes\PHPExcel\CachedObjectStorage\PHPTemp.php:113
unserialize$this->currentObject = unserialize($cellResult);Classes\PHPExcel\CachedObjectStorage\SQLite.php:112
unserialize$this->currentObject = unserialize($cellData['value']);Classes\PHPExcel\CachedObjectStorage\SQLite3.php:144
unserialize$this->currentObject = unserialize($obj);Classes\PHPExcel\CachedObjectStorage\Wincache.php:154
unserialize$this->{$key} = unserialize(serialize($val));Classes\PHPExcel\Worksheet.php:2895
unserialize$this->{$key} = unserialize(serialize($val));Classes\PHPExcel.php:881

Bundled Libraries

dompdfTCPDF

SQL Query Safety

100% prepared15 total queries

Output Escaping

91% escaped92 total outputs
Data Flows · Security
All sanitized

Data Flow Analysis

2 flows
wppi_import_file (wp-post-import.php:72)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

WP Post Import Attack Surface

Entry Points2
Unprotected0

AJAX Handlers 2

authwp_ajax_wppi_show_datawp-post-import.php:27
noprivwp_ajax_wppi_show_datawp-post-import.php:29
WordPress Hooks 2
actionadmin_enqueue_scriptswp-post-import.php:21
actionadmin_menuwp-post-import.php:23
Maintenance & Trust

WP Post Import Maintenance & Trust

Maintenance Signals

WordPress version tested5.9.13
Last updatedApr 14, 2022
PHP min version5.5.4
Downloads2K

Community Trust

Rating0/100
Number of ratings0
Active installs10
Developer Profile

WP Post Import Developer Profile

Kudosta

2 plugins · 40 total installs

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

How We Detect WP Post Import

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

Asset Fingerprints

Asset Paths
assets/css/style.cssassets/js/wppostimport.jsassets/js/xlsx.full.min.js
Script Paths
assets/js/xlsx.full.min.jsassets/js/wppostimport.js

HTML / DOM Fingerprints

CSS Classes
wppi-file-inputwppi-submit-button
HTML Comments
Import form submit .Import csv, xlsx file functionality .Create posts by csv,xlsx file .Create posts by csv file .
Data Attributes
data-nonce
JS Globals
wppijs_ajax_object
REST Endpoints
/wp-json/wp-post-import/v1/import
FAQ

Frequently Asked Questions about WP Post Import