Radar sectionsDatabase
Check my site
WordPress plugin

WP Photo Album Plus <= 9.2.09.002 — Authenticated (Subscriber+) Remote Code Execution via Multipart Upload Filename via ImageMagick Argument Injection

CVE-2026-87909Published · Updated

Action summary

Affected: ≤9.2.09.002Update to 9.3.01.003 or newer

All remediation steps
Severity
High7.5
CVSS
7.5
CVSS 3.1 · CNA (Wordfence)
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
What does this vector mean?
AV:N Attack vector
Network
AC:H Attack complexity
High
PR:L Privileges required
Low
UI:N User interaction
None
S:U Scope
Unchanged
C:H Confidentiality
High
I:H Integrity
High
A:H Availability
High
Weakness
CWE-74 Improper Neutralization of Special Elements in Output Used by a Downstream Component
Required access
Unknown
Exploit prediction (EPSS)
No score
CISA KEV
Not listed

Am I affected?

WP Photo Album Plus wp-photo-album-plus

  1. Affected≤ 9.2.09.002
  2. Patched in9.3.01.003

Update to 9.3.01.003 or newer.

You are affected if you run ≤ 9.2.09.002. Version 9.3.01.003 and later are not affected by this issue.

  • Check your version: in wp-admin go to Plugins → Installed Plugins and read the version under WP Photo Album Plus.
  • No admin access? Run a passive check of your site. It reads public files only.

What to do

  1. Update to version 9.3.01.003, or a newer patched version
  2. Rotate administrator passwords and application secrets if the site ran a vulnerable version while publicly reachable.
  3. Watch WP Photo Album Plus to get an email when the next vulnerability is published.

Advisory

Source description from Wordfence Intelligence, credited to daroo.

The WP Photo Album Plus plugin for WordPress is vulnerable to Remote Code Execution in all versions via the wppa_image_magick function. This is due to insufficient sanitization of the multipart upload filename before concatenation into an ImageMagick command string executed via exec(), with only escapeshellcmd() applied to the whole command rather than quoting individual arguments. This makes it possible for authenticated attackers, with subscriber-level access and above, to execute code on the server. escapeshellcmd() escapes shell metacharacters but does not prevent argument injection because spaces remain as argument separators, and the filename sanitization applied at the database layer is never applied to the physical temporary file path used for ImageMagick processing.

Exploits & references

Proof-of-concept & detection

No public proof-of-concept or detection template is known for this vulnerability.

Advisories & patches

More in WP Photo Album Plus

All 39
More vulnerabilities in WP Photo Album Plus
SeverityVulnerabilityCVEPublished
High7.2Unauthenticated Stored Cross-Site Scripting
≤9.3.05.003Update to 9.3.06.001
CVE-2026-119477
Medium4.3Cross-Site Request Forgery
≤9.3.04.3Update to 9.3.04.004
CVE-2026-110983
Medium6.1Reflected Cross-Site Scripting
≤9.2.11.1Update to 9.2.11.002
CVE-2026-110981
High8.8Authenticated (Custom+) Command Injection via 'value' Parameter (crop item) in update-photo AJAX Action
≤9.3.02.002Update to 9.3.02.003
CVE-2026-92115
High7.2Unauthenticated Stored Cross-Site Scripting via REQUEST_URI Session History
≤9.3.03.002Update to 9.3.03.003
CVE-2026-96278

Timeline

  1. CVE published

    Severity high, CVSS 7.5

  2. Record last updated

Sources & licenses

Wordfence record
Vulnerability data
Wordfence Intelligence. [object Object] Licensed under the CC BY-SA 4.0.
CVE® identifiers
[object Object]. Used under the CVE Program. CVE® is a registered trademark of The MITRE Corporation.
CVSS / CWE
National Vulnerability Database (NVD), shown unmodified. This product uses the NVD API but is not endorsed or certified by the NVD.
VulnCrest content
Summary, remediation guidance and page layout © VulnCrest. Not sourced from NVD.

How we use these sources

Search VulnCrest Radar

Are you sure?