Description
The Lpagery plugin for WordPress is vulnerable to Stored Cross-Site Scripting via post titles in versions up to, and including, 2.5.7. This is due to insufficient input sanitization and output escaping in the lpagery_add_filter_text_template_post() function, which is hooked to admin_footer and echoes the raw post_title of the post referenced by the ?lpagery_template query parameter directly inside a JavaScript single-quoted string literal, without esc_js(), esc_html(), or any other encoding. 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 higher-privileged user (such as an administrator) accesses an admin page with the ?lpagery_template=<post_id> parameter pointing at the attacker's post.
References5
- plugins.trac.wordpress.org/browser/lpagery/tags/2.5.7/lpagery.p…
- plugins.trac.wordpress.org/browser/lpagery/tags/2.5.7/lpagery.p…
- plugins.trac.wordpress.org/browser/lpagery/tags/2.5.7/lpagery.p…
- plugins.trac.wordpress.org/changeset?reponame=&old=3611156%40lp…
- www.wordfence.com/threat-intel/vulnerabilities/id/6720e68e-16fc…
Metrics
- CVSS 3.1
-
6.4
MEDIUM
Score source: CNA
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N - EPSS — exploit probability
- 0% percentile: 27 · as of 14 November 2026
- CWE
- CWE-79
Could this be exploited in your environment?
A patch closes the known hole. A penetration test shows what an attacker can still reach — with proof.