CVE-2026-96278
HighCVSS 7.2Exploitation Probability (EPSS)
Low risk16th percentile - higher than 16% of all known CVEs
Summary
The WP Photo Album Plus plugin for WordPress is vulnerable to Stored Cross-Site Scripting via REQUEST_URI Session History in all versions up to and including 9.3.03.002 due to insufficient input sanitization and output escaping. Unauthenticated attackers can inject scripts that execute when a user accesses an injected page, using a bypass that converts HTML entities back to live tags.
Risk Assessment
The attack can lead to user data theft, session hijacking, or malware distribution in the victim's browser context.
Recommendation
Update the plugin to the latest patched version. Additionally, consider adding extra protections such as Content Security Policy (CSP).
Other vulnerabilities in WP Photo Album Plus
See all- CVE-2026-102386Medium
Subscriber Cross Site Scripting (XSS) vulnerability in WP Photo Album Plus versions up to 9.3.02.003. Allows an attacker to inject malicious script into the page.
- CVE-2026-57675High
The WP Photo Album Plus plugin version 9.2.02.004 and earlier contains an unauthenticated Cross Site Scripting (XSS) vulnerability. An attacker can inject malicious script without requiring authentication.
- CVE-2026-10095Medium
The WP Photo Album Plus plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'subtext' parameter in versions up to and including 9.1.13.005 due to insufficient input sanitization and output escaping. This allows authenticated attackers with contributor-level access or higher to inject arbitrary web scripts.
- CVE-2026-39511Critical
There is an unauthenticated SQL injection vulnerability in WP Photo Album Plus versions up to 9.1.08.001.
- CVE-2026-93774High
Unauthenticated Cross Site Scripting (XSS) in WP Photo Album Plus versions up to 9.3.02.002.
- CVE-2026-87909High
The WP Photo Album Plus plugin for WordPress (all versions) is vulnerable to remote code execution via the wppa_image_magick function. Insufficient sanitization of the multipart upload filename before concatenation into an ImageMagick command executed via exec(), with only escapeshellcmd() applied to the whole command. An authenticated attacker with subscriber-level access can execute code on the server.
- CVE-2026-18579High
The WP Photo Album Plus plugin for WordPress (versions up to and including 9.2.08.003) is vulnerable to Stored Cross-Site Scripting via the 'HTTP_X_FORWARDED_FOR' parameter due to insufficient input sanitization and output escaping. The nonce failure path for the getshortcodedrenderedfenodelay action serves as the log-write trigger, making the exploit fully reachable by unauthenticated callers.
- CVE-2026-18962Medium
The WP Photo Album Plus WordPress plugin before 9.2.09.002 does not check that the current user is allowed to upload into the album they target when processing a front-end upload. This allows any authenticated user, such as a Subscriber, to upload files into albums owned by other users or by the administrator. Exploitation requires the plugin's front-end user upload feature to be enabled, which is not the default.
- CVE-2026-18049High
The WP Photo Album Plus WordPress plugin before 9.2.07.002 does not perform any capability or nonce check on one of its public endpoint actions and builds an option name from a client-supplied value without restricting it to its own options, allowing unauthenticated users to read the value of other autoloaded options whose names end in a matching suffix.
- CVE-2026-18048High
The WP Photo Album Plus plugin before 9.2.07.002 does not validate a client-controlled value used to build a file path in one of its public endpoint actions, and performs no authorization check. This allows unauthenticated attackers to delete arbitrary ZIP archives on the server, including those outside the web root.
Original NVD description (English source)
The WP Photo Album Plus plugin for WordPress is vulnerable to Stored Cross-Site Scripting via REQUEST_URI Session History in all versions up to, and including, 9.3.03.002 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. The bypass works because esc_url_raw() strips literal angle brackets but retains HTML entities, which wppaEntityDecode() silently converts back to live HTML tags before jQuery('#wppa-modal-container').html() renders them.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

