Import external attachments Security & Risk Analysis

wordpress.org/plugins/import-external-attachments

Makes local copies of all the linked images and pdfs in a post, adding them as gallery attachments.

2K active installs v1.5.12 PHP + WP 3.2+ Updated Feb 24, 2017
attachmentsgalleryimagesphotophotobloggers
41
D · High Risk
CVEs total2
Unpatched2
Last CVEDec 14, 2025
Safety Verdict

Is Import external attachments Safe to Use in 2026?

High Risk

Score 41/100

Import external attachments carries significant security risk with 2 known CVEs, 2 still unpatched. Consider switching to a maintained alternative.

2 known CVEs 2 unpatched Last CVE: Dec 14, 2025Updated 9yr ago
Risk Assessment

The 'import-external-attachments' plugin v1.5.12 exhibits a concerning security posture, primarily due to its significant number of unprotected entry points and a history of unpatched vulnerabilities. While the plugin demonstrates some good practices, such as using prepared statements for all SQL queries and performing some nonce and capability checks, these are overshadowed by critical weaknesses.

The static analysis reveals two AJAX handlers, both lacking authentication checks. This represents a substantial attack surface that could be exploited by unauthenticated users. Furthermore, the taint analysis shows two flows with unsanitized paths, indicating a potential for directory traversal or file manipulation vulnerabilities, even though they are not classified as critical or high severity. The low percentage of properly escaped output (19%) is also a significant concern, suggesting a high risk of Cross-Site Scripting (XSS) vulnerabilities.

The plugin's vulnerability history is particularly worrying. With two known CVEs that remain unpatched, both classified as medium severity and linked to Missing Authorization and CSRF, it suggests a pattern of recurring security flaws. The most recent vulnerability was dated in the future (2025-12-14), which might be an anomaly in the reporting data, but the existence of unpatched vulnerabilities at all is a severe risk. The combination of unprotected entry points, potential for path manipulation, widespread output unescaping, and unpatched vulnerabilities paints a picture of a plugin that poses a significant risk to WordPress sites.

Key Concerns

  • Unprotected AJAX handlers
  • Flows with unsanitized paths
  • Low percentage of properly escaped output
  • Unpatched CVEs (2 medium severity)
  • Vulnerability history (Missing Auth, CSRF)
Vulnerabilities
2 published

Import external attachments Security Vulnerabilities

CVEs by Year

2 CVEs in 2025 · unpatched
2025
Patched Has unpatched

Severity Breakdown

Medium
2

2 total CVEs

CVE-2025-64245medium · 4.3Missing Authorization

Import external attachments <= 1.5.12 - Missing Authorization

Dec 14, 2025Unpatched
CVE-2025-53268medium · 4.3Cross-Site Request Forgery (CSRF)

Import external attachments <= 1.5.12 - Cross-Site Request Forgery

Jun 27, 2025Unpatched
Version History

Import external attachments Release Timeline

Code Analysis
Analyzed Mar 16, 2026

Import external attachments Code Analysis

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

Output Escaping

19% escaped16 total outputs
Data Flows · Security
2 unsanitized

Data Flow Analysis

3 flows2 with unsanitized paths
import_external_images_per_post (import-external-attachments.php:116)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
2 unprotected

Import external attachments Attack Surface

Entry Points2
Unprotected2

AJAX Handlers 2

authwp_ajax_external_image_get_backcatalog_ajaxajax.php:8
authwp_ajax_external_image_import_all_ajaxajax.php:9
WordPress Hooks 7
actionadmin_menuimport-external-attachments.php:51
actionadmin_initimport-external-attachments.php:52
actionadmin_headimport-external-attachments.php:53
actionadmin_noticesimport-external-attachments.php:54
actionpost_submitbox_misc_actionsimport-external-attachments.php:62
actionsave_postimport-external-attachments.php:63
filterattachment_linkimport-external-attachments.php:66
Maintenance & Trust

Import external attachments Maintenance & Trust

Maintenance Signals

WordPress version tested4.4.34
Last updatedFeb 24, 2017
PHP min version
Downloads24K

Community Trust

Rating86/100
Number of ratings26
Active installs2K
Developer Profile

Import external attachments Developer Profile

ryanpcmcquen

1 plugin · 2K total installs

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

How We Detect Import external attachments

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/import-external-attachments/js/import-external-images.js
Script Paths
/wp-content/plugins/import-external-attachments/js/import-external-images.js
Version Parameters
import-external-attachments/js/import-external-images.js?ver=

HTML / DOM Fingerprints

CSS Classes
external-imagespdf-list
HTML Comments
<!-- based on Import External Images v1.4 by Marty Thornley https://github.com/MartyThornley/import-external-images based on Add Linked Images To Gallery v1.4 by Randy Hunt http://www.bbqiguana.com/wordpress-plugins/add-linked-images-to-gallery/ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. --><!-- * Meta Boxes for hiding pages from main menu --><!-- * Handle importing of external image * Most of this taken from WordPress function 'media_sideload_image' * @param string $file The URL of the image to download * @param int $post_id The post ID the media is to be associated with * @param string $desc Optional. Description of the image * @return string - just the image url on success, false on failure -->
Data Attributes
id="external-images"id="import_external_images_nonce"id="import_external_images"
JS Globals
import_external_images_nonce
FAQ

Frequently Asked Questions about Import external attachments