CVE-2025-48365 Overview
CVE-2025-48365 is a stored Cross-Site Scripting (XSS) vulnerability in the imaprogrammer Custom Comment WordPress plugin. The flaw affects all versions up to and including 2.1.6. The plugin fails to properly neutralize user-supplied input during web page generation, allowing an authenticated attacker with high privileges to inject persistent JavaScript payloads. Because the stored payload executes in the browsers of other users, exploitation crosses a security boundary (scope change) and can compromise sessions, deface content, or pivot into administrative actions through the victim's browser context. The issue is classified under [CWE-79].
Critical Impact
Authenticated attackers can persist malicious scripts that execute in the browsers of site visitors and administrators, enabling session theft and unauthorized actions within the WordPress admin context.
Affected Products
- imaprogrammer Custom Comment WordPress plugin, versions up to and including 2.1.6
- WordPress installations with the Custom Comment plugin enabled
- Any user session interacting with pages that render stored comment content
Discovery Timeline
- 2025-08-28 - CVE-2025-48365 published to the National Vulnerability Database (NVD)
- 2026-06-17 - Last updated in NVD database
Technical Details for CVE-2025-48365
Vulnerability Analysis
The Custom Comment plugin renders user-controlled input without adequate output encoding or input sanitization. An authenticated user with elevated privileges can submit content containing HTML or JavaScript that is stored server-side. When the affected page is loaded by another user, the browser parses the injected markup and executes attacker-controlled script. The vulnerability requires user interaction, meaning a victim must load or interact with a page rendering the tainted content for the payload to fire.
Because the exploit is stored rather than reflected, a single successful injection persists across sessions and affects every visitor to the affected page until the content is removed.
Root Cause
The root cause is improper neutralization of input during web page generation, tracked as [CWE-79]. The plugin does not consistently apply WordPress escaping functions such as esc_html(), esc_attr(), or wp_kses() to comment fields before writing them into the DOM. As a result, attacker-supplied <script> tags, event handler attributes, or javascript: URIs are rendered verbatim.
Attack Vector
Exploitation occurs over the network and requires an authenticated account with high privileges plus user interaction from a victim. The attacker submits a crafted comment or plugin-managed input containing an XSS payload. The payload is persisted in the WordPress database. When any subsequent user renders the affected view, the payload executes with the origin of the WordPress site, enabling cookie theft, forced browser actions on behalf of the victim, or delivery of secondary payloads.
No verified exploit code is publicly available. Refer to the Patchstack Vulnerability Advisory for technical details.
Detection Methods for CVE-2025-48365
Indicators of Compromise
- Comment records in the WordPress database containing <script> tags, onerror=, onload=, or javascript: URIs
- Unexpected outbound requests from administrator browsers to attacker-controlled domains shortly after loading comment pages
- New or modified administrator accounts created without a corresponding legitimate admin login
- Modified plugin, theme, or wp_options records following visits to pages rendering Custom Comment output
Detection Strategies
- Audit the wp_comments table and any Custom Comment plugin storage for HTML tags or JavaScript event handlers in stored fields
- Inspect web server access logs for POST requests to comment submission endpoints from high-privilege users containing script-like payloads
- Deploy a web application firewall rule set that flags stored HTML markup in comment submissions to WordPress endpoints
Monitoring Recommendations
- Monitor WordPress admin sessions for unusual DOM activity or unexpected script loads via browser telemetry
- Alert on creation of new administrator accounts or changes to user roles following comment page views
- Track version drift of the Custom Comment plugin across managed WordPress deployments
How to Mitigate CVE-2025-48365
Immediate Actions Required
- Update the Custom Comment plugin to a version later than 2.1.6 once the vendor publishes a fix
- Disable or uninstall the Custom Comment plugin if a patched version is not yet available
- Review and sanitize existing stored comments to remove any injected HTML or JavaScript payloads
- Rotate WordPress administrator credentials and invalidate active sessions if suspicious stored content is discovered
Patch Information
At the time of publication, the Patchstack Vulnerability Advisory tracks the issue for versions through 2.1.6. Administrators should monitor the WordPress plugin repository and Patchstack advisory for a fixed release and apply it as soon as it becomes available.
Workarounds
- Restrict high-privilege account assignment so only trusted users can submit content processed by the plugin
- Deploy a Content Security Policy (CSP) that disallows inline scripts and restricts script sources to trusted origins
- Place a web application firewall in front of the WordPress site with rules to block script tags and event handler attributes in comment submissions
- Enforce multi-factor authentication on all editor and administrator accounts to reduce risk of privileged account abuse
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

