CVE-2025-2540

Multiple Plugins <= (Various Versions) - Authenticated (Contributor+) Stored DOM-Based Cross-Site Scripting via prettyPhoto JavaScript Library

Published Jul 3, 2025 CVSS 3.1 · 6.4 Medium EPSS < 1% KEV · Not listed
Description
Multiple plugins for WordPress are vulnerable to Stored Cross-Site Scripting via the plugin's bundled prettyPhoto library (version 3.1.6) in various versions due to insufficient input sanitization and output escaping on user supplied attributes. This makes it possible for authenticated attackers, with contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.

Analysis

AI-generated

Technical impact

The vulnerability allows an attacker who is logged in with contributor‑level or higher privileges to inject arbitrary JavaScript into pages via the prettyPhoto JavaScript library bundled with several WordPress image and media plugins. The flaw arises from insufficient sanitization and escaping of user‑supplied attributes; when a malicious value is stored, it is rendered unescaped on subsequently visited pages, causing the script to run in the context of the victim’s browser. This can lead to cookie theft, session hijacking, defacement or the deployment of further malware. The risk is confined to users who access the affected pages after the injection, but since any site visitor could be targeted, the impact can be widespread.

Affected Systems

Affected plugins include Devrix Easy Image Gallery, Fuzzoid Easy 3‑D Viewer, Nayon46 Awesome WP Image Gallery, Raihan CSE Awesome Gallery, and WpTipsnTricks WP Video Lightbox. Each of these plugins in various versions incorporates prettyPhoto 3.1.6, which contains the unprotected input handling that enables the stored XSS. No specific version ranges were provided, but the vulnerability applies to all releases that ship the unpatched prettyPhoto library.

Risk and Exploitability

The CVSS score of 6.4 indicates a moderate severity, with an EPSS score of less than 1% and no listing in the CISA KEV catalog. Even so, the need for authenticated contributor access makes exploitation less likely in the wild, yet the potential for widespread impact on site visitors warrants prompt action. Attackers would typically create or modify content—such as an image title or caption—containing malicious script fragments that are later rendered when any user accesses that content. The reliance on a specific user role makes targeting relatively straightforward for sites with large contributor bases.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Update each affected plugin to the latest version that includes the fixed prettyPhoto library or the vendor’s patch for the XSS issue.
  • Disable the prettyPhoto feature or deactivate the affected plugin until a patched version is available to eliminate the vulnerability from execution paths.
  • Audit existing content for malicious scripts in image titles or captions, remove or sanitize any discovered payloads, and review user inputs to ensure no future injections can be stored.

Generated by OpenCVE AI on April 22, 2026 at 01:10 UTC.

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
EUVD EUVD EUVD-2025-19857 Multiple plugins for WordPress are vulnerable to Stored Cross-Site Scripting via the plugin's bundled prettyPhoto library (version 3.1.6) in various versions due to insufficient input sanitization and output escaping on user supplied attributes. This makes it possible for authenticated attackers, with contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.
History
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
Description Multiple plugins for WordPress are vulnerable to Stored Cross-Site Scripting via the plugin's bundled prettyPhoto library (version 3.1.6) in various versions due to insufficient input sanitization and output escaping on user supplied attributes. This makes it possible for authenticated attackers, with contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.
Title Multiple Plugins <= (Various Versions) - Authenticated (Contributor+) Stored DOM-Based Cross-Site Scripting via prettyPhoto JavaScript Library
Weaknesses CWE-79
References
Metrics cvssV3_1

{'score': 6.4, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N'}

Subscriptions

No data.

Weaknesses
  • CWE-79

    Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Sources

Status
PUBLISHED
Assigner
Wordfence
Published
Updated
Apr 8, 2026, 5:03 PM
Reserved
Mar 19, 2025, 10:12 PM
Status
Deferred
Published
Jul 3, 2025, 12:15 PM
Modified
Jun 17, 2026, 9:07 AM