Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain WordPress account with wppa_upload capability
-
DeliveryCraft value parameter with percent-encoded shell metacharacters
-
ExploitPOST to update-photo AJAX action
-
Executionwppa_decode restores metacharacters, breaks ImageMagick argument
-
Persistexec() runs injected OS commands
-
ImpactRemote code execution as web-server user
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Command injection prevention
MITRE ATT&CK
1 technique across 1 tactic: Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires three concrete conditions: (1) the server must have ImageMagick enabled as the image-processing backend, since the injection occurs inside the wppa_image_magick_a() ImageMagick command string - sites using GD instead are not affected; (2) the attacker must authenticate as a WordPress user holding the plugin-specific wppa_upload capability, which is not a default role privilege but can be delegated by administrators to lower-privileged roles via the plugin's Users settings; and (3) the attack targets the update-photo AJAX action's value parameter. The percent-encoding sanitization bypass is inherent to the plugin's wppa_decode() behavior and requires no special configuration. Limiting factors: no code execution is possible without the wppa_upload capability and without ImageMagick active, so default WordPress installs that have not delegated the capability or that use GD are not exploitable. |
| Impact | This is a genuine high-priority vulnerability for sites running the affected plugin, not merely a high-CVSS paper risk. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H, score 8.8) indicates remote exploitation over the network, low complexity, no user interaction, and high impact across confidentiality, integrity, and availability - consistent with the described command injection leading to full RCE as the web-server user. The PR:L metric correctly reflects that authentication is required, but the key amplifier is that the required privilege is the plugin-defined wppa_upload capability, which administrators may delegate to lower-privileged roles, widening the attacker pool well beyond admins. No EPSS score, KEV listing, or POC was supplied in the input; per the data provided there is no public exploit identified and no evidence of active exploitation, so urgency rests on the intrinsic severity and ease of weaponization rather than confirmed in-the-wild activity. One genuine limiter that the raw CVSS does not capture: exploitation requires ImageMagick to be enabled on the server, so sites using GD or without ImageMagick configured are not exploitable via this path - verify this environmental precondition before treating any given install as vulnerable. |
| Exploit ScenarioDerived | An attacker who holds (or is granted) the wppa_upload capability - potentially a low-privileged, non-admin WordPress user - sends a crafted request to the update-photo AJAX action with a malicious value parameter containing percent-encoded shell metacharacters. Because wppa_decode() restores these characters and the value is concatenated without escapeshellarg() into the ImageMagick command passed to exec(), the attacker breaks out of the argument context and runs arbitrary OS commands as the web-server user. No public exploit is identified at time of analysis, but the flaw is straightforward to weaponize on servers where ImageMagick is enabled. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 16, 2026
Authenticated OS command injection in the WP Photo Album Plus WordPress plugin (all versions up to and including 9.3.02.002) lets any WordPress user granted the plugin-defined wppa_upload capability execute arbitrary operating-system commands as the web-server user, achieving full server-side code execution where ImageMagick is the active image backend. Rated CVSS 8.8 (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H), the flaw is reachable through the update-photo AJAX action's value parameter, and no public exploit code was identified at time of analysis; the bug is not in CISA KEV. Because wppa_upload is a plugin-level privilege that administrators can delegate to lower-privileged roles, the effective attacker pool can extend well beyond site administrators on misconfigured sites.
RemediationAI
Vendor-released patch: 9.3.02.003. Upgrade the plugin to 9.3.02.003 or later, using the fixed distribution package at https://downloads.wordpress.org/plugin/wp-photo-album-plus.9.3.02.003.zip and the advisory at https://www.wordfence.com/threat-intel/vulnerabilities/id/fc663d68-ca52-4012-847f-09817c121890 for confirmation; no patched build of the 9.3.02.002-and-earlier code exists, so upgrading is the only complete fix. Where an immediate update is not possible, apply targeted compensating controls rather than generic hardening: first, audit roles and users that hold the plugin-defined wppa_upload capability (the plugin's Users settings can grant it to Editor, Author or custom roles) and remove it from every role except the minimum necessary administrators, since exploitation is gated entirely on that capability, at the cost of those roles no longer being able to upload or manage album photos; second, if ImageMagick is not required, switch the plugin's image-processing backend to GD in the plugin settings so the wppa_image_magick_a() command string is never constructed and the injection point is never reached, accepting reduced image-manipulation features and different output quality; third, if neither is workable, temporarily deactivate WP Photo Album Plus, which removes the update-photo AJAX endpoint along with all gallery functionality. Blocking or filtering the value parameter is not a reliable workaround because wppa_decode() re-creates percent-encoded shell metacharacters such as %26 and %23 after sanitization, so a WAF rule matching encoded input alone can be bypassed - it should only be treated as a stopgap while the plugin is upgraded, and shell-level hardening (disabling exec(), restricting the web user, running PHP with strict open_basedir) should be considered compensating containment with the trade-off of potentially breaking other plugins that legitimately shell out.
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
The root cause is CWE-77 (improper neutralization of special elements used in a command), specifically a shell-argument escaping failure rather than classic SQLi/SSRF territory. Inside the plugin's wppa_image_magick_a() image-generation helper (see wppa-photo-files.php lines ~859 and ~874 in the 9.3.01.003 tag), the attacker-controlled value parameter from the update-photo AJAX handler (wppa-ajax.php lines ~2211, ~2223, ~2557) is concatenated directly into an ImageMagick command string and passed to PHP's exec() without escapeshellarg(), so shell metacharacters survive into the process invocation and can terminate the ImageMagick argument context to run an attacker-supplied command. The plugin's own sanitization does not help: wppa_decode() deliberately reverses percent-encoding, converting sequences such as %26 back to & and %23 back to #, so payloads that a naive filter might strip are restored to their live metacharacter form after the sanitization step. The vulnerable code path is only meaningful when the plugin uses ImageMagick as its image-processing backend; installations configured to use the GD library never build the concatenated ImageMagick command string and are therefore not exposed to this injection. The affected package is tracked by CPE cpe:2.3:a:opajaap:wp_photo_album_plus:*:*:*:*:*:*:*:* (all versions), and the Trac references point at the 9.3.01.003 tag while the 9.3.02.003 distribution archive in the references marks the post-fix release line.
Know when Wp Photo Album Plus 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:U/C:H/I:H/A:H
Network-reachable AJAX endpoint (AV:N), no user interaction, and RCE as web-server user give full C/I/A impact; PR:L reflects the required wppa_upload capability rather than admin.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The WP Photo Album Plus plugin for WordPress is vulnerable to authenticated Command Injection in all versions up to, and including, 9.3.02.002 via the value parameter of the update-photo AJAX action. This is due to insufficient shell escaping within the wppa_image_magick_a() function, where the attacker-controlled value parameter is concatenated raw - without escapeshellarg() - into an ImageMagick command string before being passed to exec(); further, wppa_decode() actively restores percent-encoded shell metacharacters (e.g., %26→&, %23→#) rather than stripping them, allowing crafted payloads to survive sanitization and break out of the ImageMagick argument context. This makes it possible for authenticated attackers holding the plugin-defined wppa_upload capability to execute arbitrary operating-system commands as the web-server user, achieving full remote code execution on the underlying server. Exploitation requires ImageMagick to be enabled on the server; the wppa_upload capability is a plugin-level privilege that site administrators may grant to lower-privileged WordPress roles via the plugin's Users settings, broadening the pool of potential attackers beyond administrators.
Executive ViewAI
WP Photo Album Plus WordPress plugin versions up to and including 9.3.02.002 contain an authenticated OS command injection vulnerability that allows users with the plugin's wppa_upload capability to execute arbitrary system commands, potentially leading to full server compromise. Organizations hosting WordPress sites with this plugin are at risk, especially if upload permissions have been delegated to lower-privileged roles, because an attacker with that capability can gain complete control of the web server. Leadership should act quickly since no vendor patch is currently available and the flaw enables high confidentiality, integrity, and availability impact.
Restrict the wppa_upload capability to trusted administrators only; deactivate the plugin if not essential; deploy WAF rules to block malicious value parameters in the update-photo AJAX action; switch image backend from ImageMagick to GD if possible; monitor logs for command injection attempts; enforce least privilege and MFA for all WordPress users.
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
OS command injection occurs when an application passes unsanitized user input directly into system shell commands.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
More in Wp Photo Album Plus
View allUnauthenticated information disclosure in WP Photo Album Plus (WordPress plugin, all versions before 9.2.07.002) allows
Unauthenticated arbitrary file deletion in WP Photo Album Plus (versions before 9.2.07.002) exposes WordPress sites to p
Reflected Cross-Site Scripting in the WP Photo Album Plus WordPress plugin (all versions before 9.2.07.002) allows unaut
SQL injection in the WP Photo Album Plus WordPress plugin before 9.1.11.001 allows unauthenticated attackers to inject a
Insufficient authorization in WP Photo Album Plus (all versions before 9.2.09.002) allows any authenticated WordPress us
The WP Photo Album Plus WordPress plugin before 8.0.10 was vulnerable to Stored Cross-Site Scripting (XSS). Rated medium
Stored XSS in WP Photo Album Plus (all versions up to 9.2.03.001) allows unauthenticated remote attackers to inject pers
Unauthenticated SQL injection in the WP Photo Album Plus WordPress plugin (versions ≤ 9.1.08.001) allows remote attacker
Multiple cross-site scripting (XSS) vulnerabilities in wppa-ajax-front.php in the WP Photo Album Plus (aka WPPA) plugin
Remote code execution in WP Photo Album Plus affects all versions through the wppa_image_magick path, allowing authentic
Blind SQL injection in the WP Photo Album Plus WordPress plugin (all versions up to and including 9.1.13.005) lets remot
The The WP Photo Album Plus plugin for WordPress is vulnerable to arbitrary shortcode execution via getshortcodedrendere
EUVD-2026-102802
GHSA-2fg2-xfvj-r3qp
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB