Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain contributor-level WordPress account
-
DeliveryEmbed <img> tag pointing at internal/metadata IP
-
ExploitSubmit post triggering downloadImage
-
ExecutionPlugin issues server-side wp_remote_get()
-
PersistReach loopback/private/link-local host
-
ImpactDisclose internal service or cloud metadata
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Credential Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires an authenticated WordPress account with contributor-level capability or higher (PR:L) on a site running Auto Upload Images <= 3.3.2; no additional user interaction is needed (UI:N). Exploitation is triggered by embedding an <img> tag whose src points at an internal target in post content and submitting it so the plugin's downloadImage function processes it. The vulnerability is inherent to default behavior because the plugin uses wp_remote_get() (not wp_safe_remote_get()) and its validate() method only rejects the site's own hostname - no non-default configuration is required. The primary limiting factors are the contributor authentication gate and the 'Limited' nature of the SSRF (a GET-based image fetch with only low confidentiality impact); the highest-value outcome (cloud metadata credential theft via 169.254.169.254) is contingent on the site being hosted on a cloud provider that exposes an unprotected IMDS endpoint. |
| Impact | This is a genuine but bounded SSRF issue that sits in the medium-severity band, and the multi-source signals are internally consistent. The vendor CVSS 3.1 score of 6.4 (AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N) reflects a network-reachable flaw with low attack complexity but a real authentication gate: PR:L means a contributor-level account is required, which meaningfully limits the attacker population to users who already have publishing/authoring rights on the WordPress site. There is no EPSS score, no CISA KEV listing, and no public exploit code referenced - only the Wordfence advisory and the trac source lines documenting the vulnerable code. So exploitation status is 'no public exploit identified at time of analysis.' The most important signal beyond the raw score is the impact ceiling: the vendor itself labels this 'Limited' SSRF (the plugin issues a GET via wp_remote_get() to fetch an image), and the CVSS confidentiality impact is only C:L, so this is not a full read-anything SSRF. The realistic priority driver is cloud-metadata exposure (169.254.169.254) - a contributor account on an AWS/GCP-hosted WordPress site could pivot to IMDS and potentially harvest instance credentials, which elevates practical risk on cloud deployments beyond what C:L suggests. On a self-hosted bare-metal site the impact is closer to internal port-scanning/host-discovery. Net: a real, patch-worthy issue but not an emergency - no evidence of active or automated exploitation, and the contributor prerequisite plus limited data exfiltration keep it out of the critical tier. |
| Exploit ScenarioDerived | An attacker who holds (or has phished/registered into) a contributor-level WordPress account authors a post containing a crafted <img src="http://169.254.169.254/latest/meta-data/..."> tag and submits it for processing. The Auto Upload Images plugin's downloadImage function fetches that URL server-side with wp_remote_get(), and because validate() only blocks the site's own hostname, the request reaches the internal/loopback/link-local target. No public POC is referenced, but the technique is straightforward and the attack complexity is low (AC:L). |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 18, 2026
Limited server-side request forgery in the Auto Upload Images WordPress plugin (all versions up to and including 3.3.2) lets an authenticated user with contributor-level access or higher make the affected site issue outbound web requests to arbitrary destinations. The plugin's downloadImage routine uses wp_remote_get() instead of wp_safe_remote_get(), and its validate() method only rejects URLs whose host matches the site's own hostname, so requests to loopback, private, and link-local targets such as 127.0.0.1, 10.0.0.0/8, or 169.254.169.254 are not blocked. Exploitation is triggered simply by embedding a crafted <img> tag in post content and submitting it for processing; no KEV entry, public exploit code, or other active-exploitation signal was identified at time of analysis, and the practical impact is bounded because the SSRF is a GET-based image fetch with low confidentiality impact and a contributor authentication prerequisite.
RemediationAI
No tagged, vendor-released patched version was independently confirmed from the available data - version 3.3.2 is the last affected release and the only upstream remediation signal is a plugin repository changeset (https://plugins.trac.wordpress.org/changeset?reponame=&old=3693206%40auto-upload-images&new=3693206%40auto-upload-images), so treat this as 'upstream fix available (changeset/commit); released patched version not independently confirmed' and either apply that changeset or discontinue/remove the plugin until a fixed release ships. Where removal is not possible, the most effective compensating control is egress filtering on the WordPress host: deny outbound HTTP(S) from the web/application process to 127.0.0.0/8, RFC1918 ranges, and 169.254.0.0/16 (the trade-off is that legitimate internal integrations, health checks, or intranet-hosted assets will break and must be allow-listed individually). On cloud hosts, enforce IMDSv2 with token requirement and a hop limit of 1 (or disable the metadata endpoint entirely) so that GET-only fetches cannot retrieve instance credentials - this is a deployment-side change with no application impact. Tighten role hygiene by removing contributor-level access from untrusted users and auditing post content for <img> tags pointing at internal addresses, since the vulnerability requires an authenticated contributor or higher. Additionally, disabling the plugin's automatic remote-image download behavior (the WpAutoUpload integration) neutralizes the sink but sacrifices the plugin's core auto-upload feature; WAF or content filters that reject <img src> values resolving to private/loopback IPs are of limited value because they are easily bypassed by encodings and redirects, so they should not be relied upon as the primary control.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
At the root is CWE-918 (Server-Side Request Forgery). The plugin (vendor namespace 'airani', CPE cpe:2.3:a:airani:auto_upload_images:*:*:*:*:*:*:*:*) hooks into WordPress post save/processing to detect remote images and download them for local storage as attachments. The vulnerable path is the downloadImage function in src/ImageUploader.php (roughly lines 48 and 192 per the referenced Trac source), invoked from the plugin's WpAutoUpload class (lines 45, 64 and 96). Two design defects combine: the fetch is performed with WordPress's general-purpose wp_remote_get() rather than wp_safe_remote_get(), and wp_safe_remote_get() is precisely the wrapper that applies WordPress's own SSRF protections (blocking loopback, private, and link-local ranges via wp_http_validate_url). The plugin's own validate() method attempts a similar check but compares only against the current site's hostname, so any host other than the site itself - including 127.0.0.1, RFC1918 space, and the cloud instance metadata address 169.254.169.254 - passes validation. Because the fetch is authenticated as the WordPress server, any HTTP service reachable from the web host is queried, but the primitive is read-only-ish: the attacker sees the effect of the request (via the resulting attachment/error) and gains only low-confidentiality insight, which is why the assessed vector is C:L with S:C (the vulnerable component and the affected downstream resource live in different security scopes).
Know when Auto Upload Images gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
Contributor account gives PR:L, network-reachable AC:L; SSRF crossing into internal systems justifies S:C; a GET image fetch yields limited disclosure (C:L) with no integrity or availability impact.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The Auto Upload Images plugin for WordPress is vulnerable to Limited Server-Side Request Forgery in all versions up to, and including, 3.3.2 via the downloadImage function. This makes it possible for authenticated attackers, with contributor-level access and above, to make web requests to arbitrary locations originating from the web application. The plugin uses wp_remote_get() rather than wp_safe_remote_get(), and the validate() method only rejects URLs whose host matches the site's own hostname, failing to block requests to private, loopback, or link-local addresses (e.g., 127.0.0.1, 10.0.0.0/8, 169.254.169.254). Attackers can trigger this by embedding a crafted <img> tag with a src attribute pointing to internal network hosts in post content and submitting it for processing.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.
More in Auto Upload Images
View allA vulnerability was found in Auto Upload Images up to 3.3.0 and classified as problematic. Rated high severity (CVSS 8.8
A vulnerability has been found in Auto Upload Images up to 3.3.0 and classified as problematic. Rated medium severity (C
EUVD-2026-82730
GHSA-7v2c-5xw3-f2hc
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB