{"id":"CVE-2025-2540","state":"PUBLISHED","title":"Multiple Plugins <= (Various Versions) - Authenticated (Contributor+) Stored DOM-Based Cross-Site Scripting via prettyPhoto JavaScript Library","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.","publishedAt":"2025-07-03T11:19:50.243Z","updatedAt":"2026-04-08T17:03:58.796Z","severity":{"score":6.4,"label":"Medium","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N","source":"Wordfence"},"assigner":"Wordfence","products":["nayon46 Awesome Wp Image Gallery","raihancse Awesome Gallery","devrix Easy Image Gallery","fuzzoid Easy 3D Viewer","wptipsntricks WP Video Lightbox"],"affected":[{"vendor":"nayon46","product":"Awesome Wp Image Gallery","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"1.0","versionType":"semver"}]},{"vendor":"raihancse","product":"Awesome Gallery","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"1.0","versionType":"semver"}]},{"vendor":"devrix","product":"Easy Image Gallery","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"1.5.2","versionType":"semver"}]},{"vendor":"fuzzoid","product":"Easy 3D Viewer","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"1.8.6.6","versionType":"semver"}]},{"vendor":"wptipsntricks","product":"WP Video Lightbox","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"1.9.11","versionType":"semver"}]}],"references":["https://www.wordfence.com/threat-intel/vulnerabilities/id/82892be3-91d5-4350-96b0-dc68a67b4637?source=cve","https://plugins.trac.wordpress.org/browser/wp-video-lightbox/trunk/js/jquery.prettyPhoto.js","https://plugins.trac.wordpress.org/browser/woo-3d-viewer/trunk/includes/ext/prettyPhoto/js/jquery.prettyPhoto.init.min.js","https://plugins.trac.wordpress.org/browser/easy-image-gallery/trunk/includes/lib/prettyphoto/jquery.prettyPhoto.js","https://plugins.trac.wordpress.org/browser/awesome-gallery/trunk/js/jquery.prettyPhoto.js","https://plugins.trac.wordpress.org/browser/awesome-wp-image-gallery/trunk/js/jquery.prettyPhoto.js","https://plugins.trac.wordpress.org/changeset/3266651/wp-video-lightbox","https://plugins.trac.wordpress.org/changeset/3282390/woo-3d-viewer","https://plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&reponame=&old=3397181%40easy-image-gallery&new=3397181%40easy-image-gallery&sfp_email=&sfph_mail="],"weaknesses":["CWE-79"],"ingestedAt":"2026-10-29T20:08:55.257Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2025/2xxx/CVE-2025-2540.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2025-2540","state":"PUBLISHED","datePublished":"2025-07-03T11:19:50.243Z","dateUpdated":"2026-04-08T17:03:58.796Z","assignerShortName":"Wordfence","assignerOrgId":"b15e7b5b-3da4-40ae-a43c-f7aa60e62599","dateReserved":"2025-03-19T22:12:17.253Z"},"containers":{"cna":{"title":"Multiple Plugins <= (Various Versions) - Authenticated (Contributor+) Stored DOM-Based Cross-Site Scripting via prettyPhoto JavaScript Library","descriptions":[{"lang":"en","value":"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."}],"affected":[{"vendor":"nayon46","product":"Awesome Wp Image Gallery","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"1.0","versionType":"semver"}]},{"vendor":"raihancse","product":"Awesome Gallery","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"1.0","versionType":"semver"}]},{"vendor":"devrix","product":"Easy Image Gallery","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"1.5.2","versionType":"semver"}]},{"vendor":"fuzzoid","product":"Easy 3D Viewer","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"1.8.6.6","versionType":"semver"}]},{"vendor":"wptipsntricks","product":"WP Video Lightbox","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"1.9.11","versionType":"semver"}]}],"references":[{"url":"https://www.wordfence.com/threat-intel/vulnerabilities/id/82892be3-91d5-4350-96b0-dc68a67b4637?source=cve"},{"url":"https://plugins.trac.wordpress.org/browser/wp-video-lightbox/trunk/js/jquery.prettyPhoto.js"},{"url":"https://plugins.trac.wordpress.org/browser/woo-3d-viewer/trunk/includes/ext/prettyPhoto/js/jquery.prettyPhoto.init.min.js"},{"url":"https://plugins.trac.wordpress.org/browser/easy-image-gallery/trunk/includes/lib/prettyphoto/jquery.prettyPhoto.js"},{"url":"https://plugins.trac.wordpress.org/browser/awesome-gallery/trunk/js/jquery.prettyPhoto.js"},{"url":"https://plugins.trac.wordpress.org/browser/awesome-wp-image-gallery/trunk/js/jquery.prettyPhoto.js"},{"url":"https://plugins.trac.wordpress.org/changeset/3266651/wp-video-lightbox"},{"url":"https://plugins.trac.wordpress.org/changeset/3282390/woo-3d-viewer"},{"url":"https://plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&reponame=&old=3397181%40easy-image-gallery&new=3397181%40easy-image-gallery&sfp_email=&sfph_mail="}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N","baseScore":6.4,"baseSeverity":"MEDIUM"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-79","lang":"en","description":"CWE-79 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')","type":"CWE"}]}],"providerMetadata":{"shortName":"Wordfence","orgId":"b15e7b5b-3da4-40ae-a43c-f7aa60e62599","dateUpdated":"2026-04-08T17:03:58.796Z"},"credits":[{"lang":"en","type":"finder","value":"Craig Smith"}],"timeline":[{"time":"2025-03-19T00:00:00.000Z","lang":"en","value":"Vendor Notified"},{"time":"2025-07-02T23:16:46.000Z","lang":"en","value":"Disclosed"}]},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2025-07-03T12:59:41.686246Z","id":"CVE-2025-2540","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2025-07-03T13:17:07.596Z"}}]}}}