Description
The PhotoSwipe WordPress plugin through 4.1.1.1 uses the title attribute of author-supplied link markup as a lightbox caption that is written into the page DOM without escaping. Because the title attribute survives the post-content sanitization applied to users who lack the unfiltered_html capability, an authenticated user with Author-level access can store a JavaScript payload that executes in the browser of any visitor, including an administrator, who clicks the link.
Published: 2026-07-29
Score: 6.8 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The PhotoSwipe plugin allows an authenticated Author to embed a link with a title attribute that is not escaped when rendered into the page. When a visitor clicks the link to open the lightbox, the unescaped title value is executed as JavaScript, enabling stored cross‑site scripting. This flaw allows arbitrary JavaScript execution in visitors’ browsers and is based on CWE‑79.

Affected Systems

WordPress sites that have the PhotoSwipe plugin version 4.1.1.1 or earlier installed are affected. The vulnerability exists regardless of active theme, as the plugin inserts the title caption directly into the DOM.

Risk and Exploitability

The CVSS score is 6.8, indicating moderate risk. The EPSS score is below 1%, suggesting a low probability of exploitation at present. The flaw is not listed in the CISA KEV catalog. An attacker needs only Author‑level access to the WordPress site to store malicious content; any subsequent visitor to the page will be affected when the link is clicked. No network privilege or remote code execution is required, but the impact on the user’s browser is significant.

Generated by OpenCVE AI on August 4, 2026 at 12:40 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade PhotoSwipe to the latest release where title attributes are properly escaped
  • If an upgrade is not possible immediately, remove or disable the use of title attributes in link tags generated by the plugin, or disable lightbox captions
  • Restrict Author‑level users from inserting custom links, or add output sanitization that escapes JavaScript in title attributes, such as a custom filter or a Web Application Firewall rule

Generated by OpenCVE AI on August 4, 2026 at 12:40 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sun, 02 Aug 2026 21:00:00 +0000

Type Values Removed Values Added
First Time appeared Photoswipe
Photoswipe photoswipe
Wordpress
Wordpress wordpress
Vendors & Products Photoswipe
Photoswipe photoswipe
Wordpress
Wordpress wordpress

Wed, 29 Jul 2026 14:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-79
Metrics cvssV3_1

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

ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Wed, 29 Jul 2026 06:45:00 +0000

Type Values Removed Values Added
Description The PhotoSwipe WordPress plugin through 4.1.1.1 uses the title attribute of author-supplied link markup as a lightbox caption that is written into the page DOM without escaping. Because the title attribute survives the post-content sanitization applied to users who lack the unfiltered_html capability, an authenticated user with Author-level access can store a JavaScript payload that executes in the browser of any visitor, including an administrator, who clicks the link.
Title Photo Swipe <= 4.1.1.1 - Author+ Stored XSS via title Attribute
References

Subscriptions

Photoswipe Photoswipe
Wordpress Wordpress
cve-icon MITRE

Status: PUBLISHED

Assigner: WPScan

Published:

Updated: 2026-07-29T12:46:24.654Z

Reserved: 2026-06-29T08:32:22.616Z

Link: CVE-2026-13605

cve-icon Vulnrichment

Updated: 2026-07-29T12:45:36.975Z

cve-icon NVD

Status : Deferred

Published: 2026-07-29T07:16:41.350

Modified: 2026-07-30T14:16:31.463

Link: CVE-2026-13605

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-04T12:45:05Z

Weaknesses
  • CWE-79

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