CVE-2025-11987

Visual Link Preview <= 2.2.7 - Authenticated (Contributor+) Stored Cross-Site Scripting via visual-link-preview Shortcode

2025-11-04 21:24
Rafshanzani Suhada

Strategic Overview

Status
Patched in 2.2.8
Affected Plugin
Visual Link Preview
Affected Version
<= 2.2.7
CVSS
6.4Medium
Weakness type
CWE-80 · Improper Neutralization of Script-Related HTML Tags in a Web Page (Basic XSS)
CVE
CVE-2025-11987
View all Visual Link Preview vulnerabilities

At a glance

CVE-2025-11987 is a medium-severity Improper Neutralization of Script-Related HTML Tags in a Web Page (Basic XSS) vulnerability in the Visual Link Preview WordPress plugin, affecting versions <= 2.2.7. It carries a CVSS score of 6.4 (reachable over the network; low attack complexity). Exploitation requires an authenticated account at Contributor level or above. The issue is fixed in version 2.2.8; sites on affected versions should update now. Disclosed November 2025, reported by Rafshanzani Suhada.

Vulnerability Overview

The Visual Link Preview plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the plugin's visual-link-preview shortcode in versions up to, and including, 2.2.7 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.

Technical Analysis

The vector marks this flaw as remotely reachable over the network, with low attack complexity — no special timing or configuration is needed, and no interaction from a victim user.

CWE-80: Improper Neutralization of Script-Related HTML Tags in a Web Page (Basic XSS)

The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special characters such as <, >, and & that could be interpreted as web-scripting elements when they are sent to a downstream component that processes web pages.

Remediation

Update to version 2.2.8, or a newer patched version

How does WordSec protect against this?

An attacker needs Contributor access first, so the firewall sees the attempt as traffic from a logged-in account: WordSec's web application firewall inspects request payloads before WordPress loads them. None of that substitutes for the fix: Visual Link Preview 2.2.8 closes this, and updating the plugin is the step that ends it.

  • Firewall
  • Alerts

External References

Related records

Vulnerability data © Defiant, Inc., provided under the Wordfence Intelligence T&C