Vulnerability · Published Apr 8, 2026 · Assigned by Wordfence
CVE-2026-4025PrivateContent Free <= 1.2.0 - Authenticated (Contributor+) Stored Cross-Site Scripting via 'align' Shortcode Attribute
Medium 6.4
In plain English
A medium-severity cross-site scripting in PrivateContent Free from lcweb-projects. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.3% (higher than 21% of all known vulnerabilities).
Official description
The PrivateContent Free plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'align' shortcode attribute in the [pc-login-form] shortcode in all versions up to, and including, 1.2.0. This is due to insufficient input sanitization and output escaping on the 'align' attribute. Specifically, the attribute value flows from the shortcode through pc_login_form() to pc_static::form_align(), where it is directly concatenated into an HTML class attribute without esc_attr() or any escaping. 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 products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| lcweb-projects | PrivateContent Free | 0 – through 1.2.0 |
Weakness: CWE-79 · Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
References
- https://www.wordfence.com/threat-intel/vulnerabilities/id/a9ed2943-e108-49e3-ba16-f74ce3136bde?source=cve
- https://plugins.trac.wordpress.org/browser/privatecontent-free/trunk/classes/pc_static.php#L764
- https://plugins.trac.wordpress.org/browser/privatecontent-free/tags/1.2.0/classes/pc_static.php#L764
- https://plugins.trac.wordpress.org/browser/privatecontent-free/trunk/main_includes/shortcodes.php#L10
- https://plugins.trac.wordpress.org/browser/privatecontent-free/tags/1.2.0/main_includes/shortcodes.php#L10
- https://plugins.trac.wordpress.org/browser/privatecontent-free/trunk/main_includes/public_api.php#L413
- https://plugins.trac.wordpress.org/browser/privatecontent-free/tags/1.2.0/main_includes/public_api.php#L413
- https://plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&reponame=&old=3497358%40privatecontent-free&new=3497358%40privatecontent-free&sfp_email=&sfph_mail=