HIGH 7.2

CVE-2026-13430: Post Export Import with Media Plugin Arbitrary File Upload (WordPress)

A WordPress plugin called Post Export Import with Media has a security flaw that allows administrators to upload malicious files to a website. The vulnerability works because the plugin doesn't properly check file types when importing media—specifically, attackers can trick the validation logic by adding a trailing dot to filenames (e.g., 'shell.php.'). This bypasses the security check, allowing executable files to be uploaded and potentially run on the server. Because this requires administrator-level access, it represents a privilege escalation or insider threat risk rather than a public-facing vulnerability.

Source data · NVD / CISA · public domain

CVSS
3.1 · 7.2 HIGH · CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
Weaknesses (CWE)
CWE-434
Affected products
0 configuration(s)
Published / Modified
2026-07-10 / 2026-07-10

NVD description (verbatim)

The Post Export Import with Media plugin for WordPress is vulnerable to Arbitrary File Upload in all versions up to, and including, 1.13.1 via the import_media_file_secure function. This is due to insufficient file extension validation caused by a trailing-dot filename bypass, where the extension allow-list check in ajax_import_media_start() uses pathinfo() on the raw ZIP entry name (e.g., 'shell.php.'), which returns an empty string for the extension, causing the allow-list guard to be skipped and the file to be extracted to a temporary location, after which import_media_file_secure() copies it into the WordPress uploads directory without re-validating the extension. This makes it possible for authenticated attackers, with administrator-level access and above, to upload files that may be executable, which makes remote code execution possible.

7 reference(s) · View on NVD →

SEC.co analysis · AI-assisted, reviewed against source

Technical summary

The vulnerability exists in the import_media_file_secure and ajax_import_media_start functions. When processing ZIP files, the plugin uses PHP's pathinfo() function to extract file extensions from ZIP entry names. A trailing dot causes pathinfo() to return an empty string for the extension, defeating the allow-list validation. The file is then extracted to a temporary location where the extension check is bypassed, and subsequently copied into the WordPress uploads directory (wp-content/uploads/) without re-validation. The root cause is dual-layer trust: the plugin assumes that if a file passes initial validation, it remains safe during file operations, and it relies on pathinfo() behavior that treats trailing dots as having no extension.

Business impact

Compromise of an administrator account, whether through social engineering, credential theft, or malicious insider action, could lead to arbitrary code execution on the web server. This enables attackers to deface sites, steal data, install backdoors, or pivot to internal networks. For WordPress installations hosting customer data, e-commerce transactions, or sensitive business operations, this could result in data breaches, operational downtime, and regulatory exposure (GDPR, PCI-DSS, etc.).

Affected systems

All versions of the Post Export Import with Media plugin up to and including version 1.13.1 are affected. The vulnerability requires WordPress administrator privileges to exploit. This affects WordPress sites running this plugin where administrator accounts may be at risk or where privilege escalation is a concern.

Exploitability

Exploitation requires administrator-level WordPress credentials, making this a high-privilege vulnerability. The attack surface is limited to users with upload and media import capabilities—typically site owners, administrators, or trusted team members. However, once an admin account is compromised or if a malicious insider has admin access, exploitation is straightforward and requires no user interaction. The trailing-dot bypass is reliable across platforms where pathinfo() exhibits this behavior.

Remediation

Update the Post Export Import with Media plugin to a patched version released after 1.13.1 (verify against the vendor advisory for the exact version number). The vendor should validate file extensions both before and after file operations, and should sanitize or normalize filenames to prevent trailing-dot bypasses. Until an update is available, restrict administrator role assignments to trusted personnel and monitor file uploads in the WordPress uploads directory for suspicious executable files.

Patch guidance

Check the plugin's official WordPress.org page or vendor website for a security update. Apply the patch immediately in a staging environment to verify compatibility with your site's configuration, then deploy to production. If no patch is available within a reasonable timeframe, consider disabling the plugin and using alternative media import methods, or restricting administrator access to a minimal set of trusted users.

Detection guidance

Monitor WordPress uploads directory (wp-content/uploads/) for unexpected executable files (.php, .phtml, .php3, .php4, .php5, .phar, etc.). Review administrator activity logs for unusual file import operations, particularly via the import_media_file_secure and ajax_import_media_start functions. Check server error logs for failed pathinfo() calls or file validation anomalies. Use WordPress security plugins (e.g., Wordfence, iThemes Security) to monitor file integrity and suspicious uploads.

Why prioritize this

Although the CVSS score is 7.2 (HIGH), the practical risk depends on your administrative access control posture. If administrator accounts are well-protected, internal, and monitored, this is a medium-priority patch. However, if administrator accounts are shared, widely distributed, or if you operate a multi-user WordPress environment where editor-level users can be escalated, this becomes critical. Prioritize patching if you cannot guarantee the integrity of all administrator accounts.

Risk score, explained

The CVSS 3.1 score of 7.2 reflects HIGH severity due to the potential for remote code execution (CIA impact), no user interaction required once the attacker has admin access, and network-accessible attack vector. The score assumes a worst-case scenario where an admin account is compromised. However, the requirement for administrator-level privileges (PR:H) prevents this from reaching a critical score (8.0+). Organizations with strong administrative access controls and credential management may assess their practical risk as lower.

Frequently asked questions

Can unauthenticated users exploit this vulnerability?

No. The vulnerability requires WordPress administrator-level access to upload files and import media. It does not affect visitor-facing functionality or unauthenticated users.

How does the trailing-dot bypass work?

When a filename ends with a dot (e.g., 'shell.php.'), PHP's pathinfo() function returns an empty string for the extension instead of 'php'. The plugin's allow-list check looks for known-safe extensions; an empty string is not in the list, but instead of blocking the file, the validation fails silently and the file is processed anyway. This is then copied to the uploads directory without re-checking.

What versions are affected?

All versions up to and including 1.13.1. You should verify the patched version number against the plugin's official advisory or WordPress.org plugin page, as patch versions are not specified in the vulnerability record.

Can I mitigate this without updating?

Partially. Restrict administrator role assignments to a small, trusted team. Monitor the wp-content/uploads/ directory for suspicious executable files. Disable the plugin if it's not actively needed. However, patching is the only complete mitigation.

This analysis is based on the vulnerability record published on 2026-07-10. Patch version numbers, vendor advisory URLs, and KEV inclusion status are not specified in the source data and should be verified against the official vendor advisory before deployment. This vulnerability is not currently listed on CISA's Known Exploited Vulnerabilities (KEV) catalog. No proof-of-concept code is provided. Organizations should conduct their own risk assessment based on their WordPress deployment, administrative access controls, and the sensitivity of data stored on affected sites. Source: NVD (public-domain), retrieved 2026-08-17. Analysis generated by SEC.co (claude-haiku-4-5).