Command injection in WP Photo Album Plus lets attackers run commands
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Code execution
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- No fix listed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-77.
Summary
The WP Photo Album Plus plugin for WordPress is affected in all versions through 9.3.02.002. Insufficient shell escaping of the value parameter in the update-photo AJAX action lets an authenticated user with the wppa_upload capability inject operating-system commands (CWE-77). A successful attack runs commands as the web-server user on servers where ImageMagick is enabled.
Written with Claude Haiku 5.5 from the sources below · 2026-10-28
Description from the CNA
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
The sources list no fixed version for WP Photo Album Plus.
Written with Claude Haiku 5.5 from the sources below · 2026-10-28
Timeline
- 2026-10-16 Threatist record created from CVE-2026-92115
- 2026-10-16 Priority changed: LOW → MEDIUM
- 2026-10-16 Alias added: GHSA-2fg2-xfvj-r3qp
References
Other 7
- https://www.wordfence.com/threat-intel/vulnerabilities/id/fc663d68-ca52-4012-847f-09817c121890?source=cve
- https://plugins.trac.wordpress.org/browser/wp-photo-album-plus/tags/9.3.01.003/wppa-photo-files.php#L874
- https://plugins.trac.wordpress.org/browser/wp-photo-album-plus/tags/9.3.01.003/wppa-photo-files.php#L859
- https://plugins.trac.wordpress.org/browser/wp-photo-album-plus/tags/9.3.01.003/wppa-ajax.php#L2557
- https://plugins.trac.wordpress.org/browser/wp-photo-album-plus/tags/9.3.01.003/wppa-ajax.php#L2211
- https://plugins.trac.wordpress.org/browser/wp-photo-album-plus/tags/9.3.01.003/wppa-ajax.php#L2223
- https://downloads.wordpress.org/plugin/wp-photo-album-plus.9.3.02.003.zip
More opajaap vulnerabilities
- TI-2026-15226 WP Photo Album Plus <= 9.2.08.003 - Unauthenticated Stored Cross-Site Scripting CVSS 3.1HIGH 7.2
- TI-2026-59976 Injection in opajaap WP Photo Album Plus CVSS 3.1HIGH 7.5
- TI-2026-70201 Stored cross-site scripting in WP Photo Album Plus WordPress plugin CVSS 3.1HIGH 7.2
- TI-2025-13532 WP Photo Album Plus <= 9.1.05.008 - Reflected Cross-Site Scripting CVSS 3.1HIGH 7.1
- TI-2026-08849 Cross-site scripting in opajaap WP Photo Album Plus CVSS 3.1MEDIUM 6.4
- TI-2024-09234 Wordpress Photo Album Plus <= 8.8.05.003 - Reflected Cross-Site Scripting CVSS 3.1MEDIUM 6.1
Sources
- CVE-2026-92115 · CVE Program
- CVE-2026-92115 · NVD
- FIRST EPSS
- GHSA-2fg2-xfvj-r3qp · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences